var OGVDecoderVideoVP8MT
(function() {
  var scriptSrc;
  if (typeof document !== 'undefined' && document.currentScript) scriptSrc = document.currentScript.src;
OGVDecoderVideoVP8MT = function(OGVDecoderVideoVP8MT) {
  OGVDecoderVideoVP8MT = OGVDecoderVideoVP8MT || {};
  if (!OGVDecoderVideoVP8MT.currentScriptUrl) OGVDecoderVideoVP8MT.currentScriptUrl = scriptSrc;
  var Module = OGVDecoderVideoVP8MT;

var options=Module;Module={print:(function(str){console.log(str)})};if(typeof OGVLoader!=="undefined"){Module["pthreadMainPrefixURL"]=OGVLoader.base+"/"}if(options["memoryLimit"]&&!options.wasmBinary){Module["TOTAL_MEMORY"]=options["memoryLimit"]}for(option in options){if(options.hasOwnProperty(option)){Module[option]=options[option]}}var Math_imul_orig=Math.imul;var OGVDecoderVideoVP8MT=Module;var Module;if(!Module)Module=(typeof OGVDecoderVideoVP8MT!=="undefined"?OGVDecoderVideoVP8MT:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else if(Module["ENVIRONMENT"]==="PTHREAD"){ENVIRONMENT_IS_WORKER=true;ENVIRONMENT_IS_PTHREAD=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}var ENVIRONMENT_IS_PTHREAD;if(!ENVIRONMENT_IS_PTHREAD)ENVIRONMENT_IS_PTHREAD=false;var PthreadWorkerInit=Module["pthreadWorkerInit"]||undefined;if(!ENVIRONMENT_IS_PTHREAD)PthreadWorkerInit={};var currentScriptUrl=Module["currentScriptUrl"]||(ENVIRONMENT_IS_WORKER?undefined:document.currentScript.src);if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return xhr.response}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){if(sig.length===1){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func)}}else if(sig.length===2){sigCache[func]=function dynCall_wrapper(arg){return Runtime.dynCall(sig,func,[arg])}}else{sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,Array.prototype.slice.call(arguments))}}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=(ret+size+15|0)&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=Runtime.stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){var __cxa_demangle_func=Module["___cxa_demangle"]||Module["__cxa_demangle"];if(__cxa_demangle_func){try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=__cxa_demangle_func(buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}Module["stackTrace"]=stackTrace;var PAGE_SIZE=16384;var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;if(ENVIRONMENT_IS_PTHREAD){STATIC_BASE=Module["STATIC_BASE"]||0;STATICTOP=Module["STATICTOP"]||0;DYNAMIC_BASE=Module["DYNAMIC_BASE"]||0;DYNAMICTOP_PTR=Module["DYNAMICTOP_PTR"]||0}else{STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false}if(ENVIRONMENT_IS_PTHREAD){staticSealed=true}function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with  -s TOTAL_MEMORY=X  with X higher than the current value "+TOTAL_MEMORY+", (2) compile with  -s ALLOW_MEMORY_GROWTH=1  which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with  -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abort("Cannot enlarge memory arrays, since compiling with pthreads support enabled (-s USE_PTHREADS=1).")}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||33554432;if(TOTAL_MEMORY<TOTAL_STACK)Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(typeof SharedArrayBuffer!=="undefined"){if(ENVIRONMENT_IS_PTHREAD){buffer=Module.buffer}else{buffer=new SharedArrayBuffer(TOTAL_MEMORY)}((function(undefined){"use strict";function clamp(val,length){val=val|0||0;if(val<0)return Math.max(val+length,0);return Math.min(val,length)}if(typeof SharedArrayBuffer!=="undefined"&&!SharedArrayBuffer.prototype.slice){SharedArrayBuffer.prototype.slice=(function(from,to){var length=this.byteLength;var begin=clamp(from,length);var end=length;if(to!==undefined)end=clamp(to,length);if(begin>end)return new ArrayBuffer(0);var num=end-begin;var target=new ArrayBuffer(num);var targetArray=new Uint8Array(target);var sourceArray=new Uint8Array(this,begin,num);targetArray.set(sourceArray);return target})}}))()}else{if(!ENVIRONMENT_IS_PTHREAD)buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();if(typeof Atomics==="undefined"){Atomics={};Atomics["add"]=(function(t,i,v){var w=t[i];t[i]+=v;return w});Atomics["and"]=(function(t,i,v){var w=t[i];t[i]&=v;return w});Atomics["compareExchange"]=(function(t,i,e,r){var w=t[i];if(w==e)t[i]=r;return w});Atomics["exchange"]=(function(t,i,v){var w=t[i];t[i]=v;return w});Atomics["wait"]=(function(t,i,v,o){if(t[i]!=v)return"not-equal";else return"timed-out"});Atomics["wake"]=(function(t,i,c){return 0});Atomics["wakeOrRequeue"]=(function(t,i1,c,i2,v){return 0});Atomics["isLockFree"]=(function(s){return true});Atomics["load"]=(function(t,i){return t[i]});Atomics["or"]=(function(t,i,v){var w=t[i];t[i]|=v;return w});Atomics["store"]=(function(t,i,v){t[i]=v;return v});Atomics["sub"]=(function(t,i,v){var w=t[i];t[i]-=v;return w});Atomics["xor"]=(function(t,i,v){var w=t[i];t[i]^=v;return w})}function getTotalMemory(){return TOTAL_MEMORY}if(!ENVIRONMENT_IS_PTHREAD){HEAP32[0]=1668509029}else{if(HEAP32[0]!==1668509029)throw"Runtime error: The application has corrupted its heap memory area (address zero)!"}HEAP16[1]=25459;if(HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;if(ENVIRONMENT_IS_PTHREAD)runtimeInitialized=true;function preRun(){if(ENVIRONMENT_IS_PTHREAD)return;if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(ENVIRONMENT_IS_PTHREAD)return;if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){if(ENVIRONMENT_IS_PTHREAD)return;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){if(ENVIRONMENT_IS_PTHREAD)return;callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(ENVIRONMENT_IS_PTHREAD)return;if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var lastChar,end;if(dontAddNull){end=buffer+lengthBytesUTF8(string);lastChar=HEAP8[end]}stringToUTF8(string,buffer,Infinity);if(dontAddNull)HEAP8[end]=lastChar}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(typeof Atomics!=="undefined"&&!Atomics["exchange"]){Atomics["exchange"]=(function(heap,index,val){var oldVal,oldVal2;do{oldVal=Atomics["load"](heap,index);oldVal2=Atomics["compareExchange"](heap,index,oldVal,val)}while(oldVal!=oldVal2);return oldVal})}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){assert(!ENVIRONMENT_IS_PTHREAD);runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};if(!ENVIRONMENT_IS_PTHREAD)addOnPreRun((function(){if(typeof SharedArrayBuffer!=="undefined"){addRunDependency("pthreads");PThread.allocateUnusedWorkers(1,(function(){removeRunDependency("pthreads")}))}}));var ASM_CONSTS=[(function(){postMessage({cmd:"processQueuedMainThreadWork"})}),(function(){throw"Canceled!"})];function _emscripten_asm_const_v(code){return ASM_CONSTS[code]()}STATIC_BASE=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+13776;if(!ENVIRONMENT_IS_PTHREAD)__ATINIT__.push({func:(function(){___emscripten_pthread_data_constructor()})});if(!ENVIRONMENT_IS_PTHREAD){allocate([0,0,0,0,0,0,0,0,0,7,6,6,5,5,5,5,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,112,0,16,0,96,0,32,0,80,0,48,0,64,0,64,0,48,0,80,0,32,0,96,0,16,0,112,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,250,255,123,0,12,0,255,255,0,0,2,0,245,255,108,0,36,0,248,255,1,0,0,0,247,255,93,0,50,0,250,255,0,0,3,0,240,255,77,0,77,0,240,255,3,0,0,0,250,255,50,0,93,0,247,255,0,0,1,0,248,255,36,0,108,0,245,255,2,0,0,0,255,255,12,0,123,0,250,255,0,0,7,0,0,0,6,0,0,0,7,0,0,0,1,0,0,0,1,0,0,0,143,0,0,0,14,0,0,0,18,0,0,0,14,0,0,0,107,0,0,0,135,0,0,0,64,0,0,0,57,0,0,0,68,0,0,0,60,0,0,0,56,0,0,0,128,0,0,0,65,0,0,0,159,0,0,0,134,0,0,0,128,0,0,0,34,0,0,0,234,0,0,0,188,0,0,0,128,0,0,0,28,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,20,0,0,0,21,0,0,0,21,0,0,0,22,0,0,0,22,0,0,0,23,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,91,0,0,0,93,0,0,0,95,0,0,0,96,0,0,0,98,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,104,0,0,0,106,0,0,0,108,0,0,0,110,0,0,0,112,0,0,0,114,0,0,0,116,0,0,0,118,0,0,0,122,0,0,0,124,0,0,0,126,0,0,0,128,0,0,0,130,0,0,0,132,0,0,0,134,0,0,0,136,0,0,0,138,0,0,0,140,0,0,0,143,0,0,0,145,0,0,0,148,0,0,0,151,0,0,0,154,0,0,0,157,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,60,0,0,0,62,0,0,0,64,0,0,0,66,0,0,0,68,0,0,0,70,0,0,0,72,0,0,0,74,0,0,0,76,0,0,0,78,0,0,0,80,0,0,0,82,0,0,0,84,0,0,0,86,0,0,0,88,0,0,0,90,0,0,0,92,0,0,0,94,0,0,0,96,0,0,0,98,0,0,0,100,0,0,0,102,0,0,0,104,0,0,0,106,0,0,0,108,0,0,0,110,0,0,0,112,0,0,0,114,0,0,0,116,0,0,0,119,0,0,0,122,0,0,0,125,0,0,0,128,0,0,0,131,0,0,0,134,0,0,0,137,0,0,0,140,0,0,0,143,0,0,0,146,0,0,0,149,0,0,0,152,0,0,0,155,0,0,0,158,0,0,0,161,0,0,0,164,0,0,0,167,0,0,0,170,0,0,0,173,0,0,0,177,0,0,0,181,0,0,0,185,0,0,0,189,0,0,0,193,0,0,0,197,0,0,0,201,0,0,0,205,0,0,0,209,0,0,0,213,0,0,0,217,0,0,0,221,0,0,0,225,0,0,0,229,0,0,0,234,0,0,0,239,0,0,0,245,0,0,0,249,0,0,0,254,0,0,0,3,1,0,0,8,1,0,0,13,1,0,0,18,1,0,0,23,1,0,0,28,1,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,1,0,0,4,0,0,0,1,1,0,0,5,0,0,0,2,1,0,0,6,0,0,0,3,1,0,0,7,0,0,0,255,255,255,255,0,0,0,0,44,20,0,0,5,0,0,0,1,0,16,0,8,0,0,0,1,0,0,0,248,5,0,0,1,0,0,0,9,0,0,0,1,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,22,0,0,61,22,0,0,66,22,0,0,72,22,0,0,152,6,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,196,49,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,176,246,255,255,255,255,255,255,255,255,255,223,241,252,255,255,255,255,255,255,255,255,249,253,253,255,255,255,255,255,255,255,255,255,244,252,255,255,255,255,255,255,255,255,234,254,254,255,255,255,255,255,255,255,255,253,255,255,255,255,255,255,255,255,255,255,255,246,254,255,255,255,255,255,255,255,255,239,253,254,255,255,255,255,255,255,255,255,254,255,254,255,255,255,255,255,255,255,255,255,248,254,255,255,255,255,255,255,255,255,251,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,253,254,255,255,255,255,255,255,255,255,251,254,254,255,255,255,255,255,255,255,255,254,255,254,255,255,255,255,255,255,255,255,255,254,253,255,254,255,255,255,255,255,255,250,255,254,255,254,255,255,255,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,217,255,255,255,255,255,255,255,255,255,255,225,252,241,253,255,255,254,255,255,255,255,234,250,241,250,253,255,253,254,255,255,255,255,254,255,255,255,255,255,255,255,255,255,223,254,254,255,255,255,255,255,255,255,255,238,253,254,254,255,255,255,255,255,255,255,255,248,254,255,255,255,255,255,255,255,255,249,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,253,255,255,255,255,255,255,255,255,255,247,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,253,254,255,255,255,255,255,255,255,255,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,254,255,255,255,255,255,255,255,255,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,253,255,255,255,255,255,255,255,255,250,255,255,255,255,255,255,255,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,186,251,250,255,255,255,255,255,255,255,255,234,251,244,254,255,255,255,255,255,255,255,251,251,243,253,254,255,254,255,255,255,255,255,253,254,255,255,255,255,255,255,255,255,236,253,254,255,255,255,255,255,255,255,255,251,253,253,254,254,255,255,255,255,255,255,255,254,254,255,255,255,255,255,255,255,255,254,254,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,255,255,255,255,255,255,254,254,255,255,255,255,255,255,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,248,255,255,255,255,255,255,255,255,255,255,250,254,252,254,255,255,255,255,255,255,255,248,254,249,253,255,255,255,255,255,255,255,255,253,253,255,255,255,255,255,255,255,255,246,253,253,255,255,255,255,255,255,255,255,252,254,251,254,254,255,255,255,255,255,255,255,254,252,255,255,255,255,255,255,255,255,248,254,253,255,255,255,255,255,255,255,255,253,255,254,254,255,255,255,255,255,255,255,255,251,254,255,255,255,255,255,255,255,255,245,251,254,255,255,255,255,255,255,255,255,253,253,254,255,255,255,255,255,255,255,255,255,251,253,255,255,255,255,255,255,255,255,252,253,254,255,255,255,255,255,255,255,255,255,254,255,255,255,255,255,255,255,255,255,255,252,255,255,255,255,255,255,255,255,255,249,255,254,255,255,255,255,255,255,255,255,255,255,254,255,255,255,255,255,255,255,255,255,255,253,255,255,255,255,255,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,253,136,254,255,228,219,128,128,128,128,128,189,129,242,255,227,213,255,219,128,128,128,106,126,227,252,214,209,255,255,128,128,128,1,98,248,255,236,226,255,255,128,128,128,181,133,238,254,221,234,255,154,128,128,128,78,134,202,247,198,180,255,219,128,128,128,1,185,249,255,243,255,128,128,128,128,128,184,150,247,255,236,224,128,128,128,128,128,77,110,216,255,236,230,128,128,128,128,128,1,101,251,255,241,255,128,128,128,128,128,170,139,241,252,236,209,255,255,128,128,128,37,116,196,243,228,255,255,255,128,128,128,1,204,254,255,245,255,128,128,128,128,128,207,160,250,255,238,128,128,128,128,128,128,102,103,231,255,211,171,128,128,128,128,128,1,152,252,255,240,255,128,128,128,128,128,177,135,243,255,234,225,128,128,128,128,128,80,129,211,255,194,224,128,128,128,128,128,1,1,255,128,128,128,128,128,128,128,128,246,1,255,128,128,128,128,128,128,128,128,255,128,128,128,128,128,128,128,128,128,128,198,35,237,223,193,187,162,160,145,155,62,131,45,198,221,172,176,220,157,252,221,1,68,47,146,208,149,167,221,162,255,223,128,1,149,241,255,221,224,255,255,128,128,128,184,141,234,253,222,220,255,199,128,128,128,81,99,181,242,176,190,249,202,255,255,128,1,129,232,253,214,197,242,196,255,255,128,99,121,210,250,201,198,255,202,128,128,128,23,91,163,242,170,187,247,210,255,255,128,1,200,246,255,234,255,128,128,128,128,128,109,178,241,255,231,245,255,255,128,128,128,44,130,201,253,205,192,255,255,128,128,128,1,132,239,251,219,209,255,165,128,128,128,94,136,225,251,218,190,255,255,128,128,128,22,100,174,245,186,161,255,199,128,128,128,1,182,249,255,232,235,128,128,128,128,128,124,143,241,255,227,234,128,128,128,128,128,35,77,181,251,193,211,255,205,128,128,128,1,157,247,255,236,231,255,255,128,128,128,121,141,235,255,225,227,255,255,128,128,128,45,99,188,251,195,217,255,224,128,128,128,1,1,251,255,213,255,128,128,128,128,128,203,1,248,255,255,128,128,128,128,128,128,137,1,177,255,224,255,128,128,128,128,128,253,9,248,251,207,208,255,192,128,128,128,175,13,224,243,193,185,249,198,255,255,128,73,17,171,221,161,179,236,167,255,234,128,1,95,247,253,212,183,255,255,128,128,128,239,90,244,250,211,209,255,255,128,128,128,155,77,195,248,188,195,255,255,128,128,128,1,24,239,251,218,219,255,205,128,128,128,201,51,219,255,196,186,128,128,128,128,128,69,46,190,239,201,218,255,228,128,128,128,1,191,251,255,255,128,128,128,128,128,128,223,165,249,255,213,255,128,128,128,128,128,141,124,248,255,255,128,128,128,128,128,128,1,16,248,255,255,128,128,128,128,128,128,190,36,230,255,236,255,128,128,128,128,128,149,1,255,128,128,128,128,128,128,128,128,1,226,255,128,128,128,128,128,128,128,128,247,192,255,128,128,128,128,128,128,128,128,240,128,255,128,128,128,128,128,128,128,128,1,134,252,255,255,128,128,128,128,128,128,213,62,250,255,255,128,128,128,128,128,128,55,93,255,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,202,24,213,235,186,191,220,160,240,175,255,126,38,182,232,169,184,228,174,255,187,128,61,46,138,219,151,178,240,170,255,216,128,1,112,230,250,199,191,247,159,255,255,128,166,109,228,252,211,215,255,174,128,128,128,39,77,162,232,172,180,245,178,255,255,128,1,52,220,246,198,199,249,220,255,255,128,124,74,191,243,183,193,250,221,255,255,128,24,71,130,219,154,170,243,182,255,255,128,1,182,225,249,219,240,255,224,128,128,128,149,150,226,252,216,205,255,171,128,128,128,28,108,170,242,183,194,254,223,255,255,128,1,81,230,252,204,203,255,192,128,128,128,123,102,209,247,188,196,255,233,128,128,128,20,95,153,243,164,173,255,203,128,128,128,1,222,248,255,216,213,128,128,128,128,128,168,175,246,252,235,205,255,255,128,128,128,47,116,215,255,211,212,255,255,128,128,128,1,121,236,253,212,214,255,255,128,128,128,141,84,213,252,201,202,255,219,128,128,128,42,80,160,240,162,185,255,205,128,128,128,1,1,255,128,128,128,128,128,128,128,128,244,1,255,128,128,128,128,128,128,128,128,238,1,255,128,128,128,128,128,128,128,128,145,156,163,128,162,101,204,142,114,183,120,90,79,133,87,85,80,111,151,231,120,48,89,115,113,120,152,112,152,179,64,126,170,118,46,70,95,175,69,143,80,85,82,72,155,103,56,58,10,171,218,189,17,13,152,144,71,10,38,171,213,144,34,26,114,26,17,163,44,195,21,10,173,121,24,80,195,26,62,44,64,85,170,46,55,19,136,160,33,206,71,63,20,8,114,114,208,12,9,226,81,40,11,96,182,84,29,16,36,134,183,89,137,98,101,106,165,148,72,187,100,130,157,111,32,75,80,66,102,167,99,74,62,40,234,128,41,53,9,178,241,141,26,8,107,104,79,12,27,217,255,87,17,7,74,43,26,146,73,166,49,23,157,65,38,105,160,51,52,31,115,128,87,68,71,44,114,51,15,186,23,47,41,14,110,182,183,21,17,194,66,45,25,102,197,189,23,18,22,88,88,147,150,42,46,45,196,205,43,97,183,117,85,38,35,179,61,39,53,200,87,26,21,43,232,171,56,34,51,104,114,102,29,93,77,107,54,32,26,51,1,81,43,31,39,28,85,171,58,165,90,98,64,34,22,116,206,23,34,43,166,73,68,25,106,22,64,171,36,225,114,34,19,21,102,132,188,16,76,124,62,18,78,95,85,57,50,48,51,193,101,35,159,215,111,89,46,111,60,148,31,172,219,228,21,18,111,112,113,77,85,179,255,38,120,114,40,42,1,196,245,209,10,25,109,100,80,8,43,154,1,51,26,71,88,43,29,140,166,213,37,43,154,61,63,30,155,67,45,68,1,209,142,78,78,16,255,128,34,197,171,41,40,5,102,211,183,4,1,221,51,50,17,168,209,192,23,25,82,125,98,42,88,104,85,117,175,82,95,84,53,89,128,100,113,101,45,75,79,123,47,51,128,81,171,1,57,17,5,71,102,57,53,41,49,115,21,2,10,102,255,166,23,6,38,33,13,121,57,73,26,1,85,41,10,67,138,77,110,90,47,114,101,29,16,10,85,128,101,196,26,57,18,10,102,102,213,34,20,43,117,20,15,36,163,128,68,1,26,138,31,36,171,27,166,38,44,229,67,87,58,169,82,115,26,59,179,63,59,90,180,59,166,93,73,154,40,40,21,116,143,209,34,39,175,57,46,22,24,128,1,54,17,37,47,15,16,183,34,223,49,45,183,46,17,33,183,6,98,15,32,183,65,32,73,115,28,128,23,128,205,40,3,9,115,51,192,18,6,223,87,37,9,115,59,77,64,21,47,104,55,44,218,9,54,53,130,226,64,90,70,205,40,41,23,26,57,54,57,112,184,5,41,38,166,213,30,34,26,133,152,116,10,32,134,75,32,12,51,192,255,160,43,51,39,19,53,221,26,114,32,73,255,31,9,65,234,2,15,1,118,73,88,31,35,67,102,85,55,186,85,56,21,23,111,59,205,45,37,192,55,38,70,124,73,102,1,34,98,102,61,71,37,34,53,31,243,192,69,60,71,38,73,119,28,222,37,68,45,128,34,1,47,11,245,171,62,17,19,70,146,85,55,62,70,75,15,9,9,64,255,184,119,16,37,43,37,154,100,163,85,160,1,63,9,92,136,28,64,32,201,85,86,6,28,5,64,255,25,248,1,56,8,17,132,137,255,55,116,128,58,15,20,82,135,57,26,121,40,164,50,31,137,154,133,25,35,218,51,103,44,131,131,123,31,6,158,86,40,64,135,148,224,45,183,128,22,26,17,131,240,154,14,1,209,83,12,13,54,192,255,68,47,28,45,16,21,91,64,222,7,1,197,56,21,39,155,60,138,23,102,213,85,26,85,85,128,128,32,146,171,18,11,7,63,144,171,4,4,246,35,27,10,146,174,171,12,26,128,190,80,35,99,180,80,126,54,45,85,126,47,87,176,51,41,20,32,101,75,128,139,118,146,116,128,85,56,41,15,176,236,85,37,9,62,146,36,19,30,171,255,97,27,20,71,30,17,119,118,255,17,18,138,101,38,60,138,55,70,43,26,142,138,45,61,62,219,1,81,188,64,32,41,20,117,151,142,20,21,163,112,19,12,61,195,128,48,4,24,0,2,255,4,254,6,8,12,253,10,251,250,252,14,249,16,248,247,0,2,4,6,255,254,253,252,252,2,4,6,0,255,254,253,0,2,255,4,254,253,2,8,4,6,0,255,254,253,10,12,252,251,250,249,180,162,25,237,246,253,253,254,254,254,254,254,254,254,254,254,254,250,250,252,254,254,231,243,245,253,254,254,254,254,254,254,254,254,254,254,251,251,254,254,254,162,128,225,146,172,147,214,39,156,128,129,132,75,145,178,206,239,254,254,164,128,204,170,119,235,140,230,228,128,130,130,74,148,180,203,236,254,254,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,8,10,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,87,101,98,77,32,80,114,111,106,101,99,116,32,86,80,56,32,68,101,99,111,100,101,114,32,118,49,46,54,46,49,45,49,45,103,51,48,49,99,48,54,101,57,101,0,73,110,118,97,108,105,100,32,102,114,97,109,101,32,119,105,100,116,104,0,73,110,118,97,108,105,100,32,102,114,97,109,101,32,104,101,105,103,104,116,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,102,114,97,109,101,32,98,117,102,102,101,114,115,0,147,136,18,223,1,34,106,145,1,208,1,1,179,121,1,223,1,34,179,121,1,208,1,1,8,8,4,1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,4,5,8,9,12,13,2,3,6,7,10,11,14,15,0,1,4,5,2,3,6,7,8,9,12,13,10,11,14,15,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,84,114,117,110,99,97,116,101,100,32,112,97,99,107,101,116,0,84,114,117,110,99,97,116,101,100,32,112,97,99,107,101,116,32,111,114,32,99,111,114,114,117,112,116,32,112,97,114,116,105,116,105,111,110,32,48,32,108,101,110,103,116,104,0,73,110,118,97,108,105,100,32,102,114,97,109,101,32,115,121,110,99,32,99,111,100,101,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,98,111,111,108,32,100,101,99,111,100,101,114,32,48,0,84,114,117,110,99,97,116,101,100,32,112,97,114,116,105,116,105,111,110,32,115,105,122,101,32,100,97,116,97,0,84,114,117,110,99,97,116,101,100,32,112,97,99,107,101,116,32,111,114,32,99,111,114,114,117,112,116,32,112,97,114,116,105,116,105,111,110,32,37,100,32,108,101,110,103,116,104,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,98,111,111,108,32,100,101,99,111,100,101,114,32,37,100,0,65,32,115,116,114,101,97,109,32,109,117,115,116,32,115,116,97,114,116,32,119,105,116,104,32,97,32,99,111,109,112,108,101,116,101,32,107,101,121,32,102,114,97,109,101,0,0,1,2,3,6,4,5,6,6,6,6,6,6,6,6,7,0,0,1,4,8,5,2,3,6,9,12,13,10,7,11,14,15,173,148,140,0,176,155,140,135,0,180,157,141,134,130,0,254,254,243,230,196,177,153,140,133,130,129,0,73,110,118,97,108,105,100,32,114,101,102,101,114,101,110,99,101,32,102,114,97,109,101,0,73,110,99,111,114,114,101,99,116,32,98,117,102,102,101,114,32,100,105,109,101,110,115,105,111,110,115,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,40,112,98,105,45,62,104,95,100,101,99,111,100,105,110,103,95,116,104,114,101,97,100,41,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,40,112,98,105,45,62,104,95,101,118,101,110,116,95,115,116,97,114,116,95,100,101,99,111,100,105,110,103,41,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,40,112,98,105,45,62,109,98,95,114,111,119,95,100,105,41,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,40,112,98,105,45,62,100,101,95,116,104,114,101,97,100,95,100,97,116,97,41,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,115,101,109,97,112,104,111,114,101,0,70,97,105,108,101,100,32,116,111,32,99,114,101,97,116,101,32,116,104,114,101,97,100,115,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,112,98,105,45,62,112,109,117,116,101,120,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,112,98,105,45,62,112,99,111,110,100,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,40,112,98,105,45,62,109,116,95,99,117,114,114,101,110,116,95,109,98,95,99,111,108,41,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,40,112,98,105,45,62,109,116,95,121,97,98,111,118,101,95,114,111,119,41,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,112,98,105,45,62,109,116,95,121,97,98,111,118,101,95,114,111,119,91,105,93,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,40,112,98,105,45,62,109,116,95,117,97,98,111,118,101,95,114,111,119,41,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,112,98,105,45,62,109,116,95,117,97,98,111,118,101,95,114,111,119,91,105,93,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,40,112,98,105,45,62,109,116,95,118,97,98,111,118,101,95,114,111,119,41,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,112,98,105,45,62,109,116,95,118,97,98,111,118,101,95,114,111,119,91,105,93,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,40,112,98,105,45,62,109,116,95,121,108,101,102,116,95,99,111,108,41,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,112,98,105,45,62,109,116,95,121,108,101,102,116,95,99,111,108,91,105,93,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,40,112,98,105,45,62,109,116,95,117,108,101,102,116,95,99,111,108,41,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,112,98,105,45,62,109,116,95,117,108,101,102,116,95,99,111,108,91,105,93,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,40,112,98,105,45,62,109,116,95,118,108,101,102,116,95,99,111,108,41,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,112,98,105,45,62,109,116,95,118,108,101,102,116,95,99,111,108,91,105,93,0,69,114,114,111,114,32,108,97,117,110,99,104,105,110,103,32,100,101,99,111,100,101,32,116,104,114,101,97,100,58,32,37,100,10,0,108,105,98,118,112,120,32,119,105,108,108,32,117,115,101,32,117,112,32,116,111,32,37,100,32,99,111,114,101,115,10,0,103,111,116,32,109,117,108,116,105,112,108,101,32,102,114,97,109,101,115,32,102,114,111,109,32,86,80,57,32,115,116,114,101,97,109,32,117,110,101,120,112,101,99,116,101,100,108,121,63,0,83,107,105,112,112,105,110,103,32,102,114,97,109,101,32,119,105,116,104,32,117,110,107,110,111,119,110,32,112,105,99,116,117,114,101,32,116,121,112,101,32,37,100,10,0,86,80,88,32,112,114,111,99,101,115,115,95,104,101,97,100,101,114,32,115,104,111,117,108,100,32,110,111,116,32,104,97,112,112,101,110,63,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,101,109,115,99,114,105,112,116,101,110,95,105,115,95,109,97,105,110,95,114,117,110,116,105,109,101,95,116,104,114,101,97,100,40,41,32,38,38,32,34,101,109,115,99,114,105,112,116,101,110,95,109,97,105,110,95,116,104,114,101,97,100,95,112,114,111,99,101,115,115,95,113,117,101,117,101,100,95,99,97,108,108,115,32,109,117,115,116,32,98,101,32,99,97,108,108,101,100,32,102,114,111,109,32,116,104,101,32,109,97,105,110,32,116,104,114,101,97,100,33,34,0,47,85,115,101,114,115,47,98,114,105,111,110,47,115,114,99,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,105,110,99,111,109,105,110,103,47,115,121,115,116,101,109,47,108,105,98,47,112,116,104,114,101,97,100,47,108,105,98,114,97,114,121,95,112,116,104,114,101,97,100,46,99,0,101,109,115,99,114,105,112,116,101,110,95,109,97,105,110,95,116,104,114,101,97,100,95,112,114,111,99,101,115,115,95,113,117,101,117,101,100,95,99,97,108,108,115,0,48,32,38,38,32,34,73,110,118,97,108,105,100,32,69,109,115,99,114,105,112,116,101,110,32,112,116,104,114,101,97,100,32,95,100,111,95,99,97,108,108,32,111,112,99,111,100,101,33,34,0,95,100,111,95,99,97,108,108,0,99,97,108,108,0,101,109,115,99,114,105,112,116,101,110,95,97,115,121,110,99,95,114,117,110,95,105,110,95,109,97,105,110,95,116,104,114,101,97,100,0,112,111,115,116,77,101,115,115,97,103,101,40,123,32,99,109,100,58,32,39,112,114,111,99,101,115,115,81,117,101,117,101,100,77,97,105,110,84,104,114,101,97,100,87,111,114,107,39,32,125,41,0,116,104,114,111,119,32,39,67,97,110,99,101,108,101,100,33,39,59,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE)}var tempDoublePtr;if(ENVIRONMENT_IS_PTHREAD){tempDoublePtr=Module["tempDoublePtr"]}else{tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8)}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};var __pthread_ptr=0;var __pthread_is_main_runtime_thread=0;var __pthread_is_main_browser_thread=0;function __register_pthread_ptr(pthreadPtr,isMainBrowserThread,isMainRuntimeThread){pthreadPtr=pthreadPtr|0;isMainBrowserThread=isMainBrowserThread|0;isMainRuntimeThread=isMainRuntimeThread|0;__pthread_ptr=pthreadPtr;__pthread_is_main_browser_thread=isMainBrowserThread;__pthread_is_main_runtime_thread=isMainRuntimeThread}var _emscripten_main_thread_process_queued_calls=undefined;var PThread={MAIN_THREAD_ID:1,mainThreadInfo:{schedPolicy:0,schedPrio:0},unusedWorkerPool:[],runningWorkers:[],initMainThreadBlock:(function(){if(ENVIRONMENT_IS_PTHREAD)return undefined;PThread.mainThreadBlock=allocate(244,"i32*",ALLOC_STATIC);__register_pthread_ptr(PThread.mainThreadBlock,!ENVIRONMENT_IS_WORKER,1);for(var i=0;i<244/4;++i)HEAPU32[PThread.mainThreadBlock/4+i]=0;HEAP32[PThread.mainThreadBlock+24>>2]=PThread.mainThreadBlock;var tlsMemory=allocate(128*4,"i32*",ALLOC_STATIC);for(var i=0;i<128;++i)HEAPU32[tlsMemory/4+i]=0;Atomics.store(HEAPU32,PThread.mainThreadBlock+116>>2,tlsMemory);Atomics.store(HEAPU32,PThread.mainThreadBlock+52>>2,PThread.mainThreadBlock);Atomics.store(HEAPU32,PThread.mainThreadBlock+56>>2,PROCINFO.pid)}),pthreads:{},pthreadIdCounter:2,exitHandlers:null,setThreadStatus:(function(){}),runExitHandlers:(function(){if(PThread.exitHandlers!==null){while(PThread.exitHandlers.length>0){PThread.exitHandlers.pop()()}PThread.exitHandlers=null}if(ENVIRONMENT_IS_PTHREAD&&threadInfoStruct)___pthread_tsd_run_dtors()}),threadExit:(function(exitCode){var tb=_pthread_self();if(tb){Atomics.store(HEAPU32,tb+4>>2,exitCode);Atomics.store(HEAPU32,tb+0>>2,1);Atomics.store(HEAPU32,tb+72>>2,1);Atomics.store(HEAPU32,tb+76>>2,0);PThread.runExitHandlers();_emscripten_futex_wake(tb+0,2147483647);__register_pthread_ptr(0,0,0);threadInfoStruct=0;if(ENVIRONMENT_IS_PTHREAD){var transferList=[];postMessage({cmd:"exit"})}}}),threadCancel:(function(){PThread.runExitHandlers();Atomics.store(HEAPU32,threadInfoStruct+4>>2,-1);Atomics.store(HEAPU32,threadInfoStruct+0>>2,1);_emscripten_futex_wake(threadInfoStruct+0,2147483647);threadInfoStruct=selfThreadId=0;__register_pthread_ptr(0,0,0);postMessage({cmd:"cancelDone"})}),terminateAllThreads:(function(){for(var t in PThread.pthreads){var pthread=PThread.pthreads[t];if(pthread){PThread.freeThreadData(pthread);if(pthread.worker)pthread.worker.terminate()}}PThread.pthreads={};for(var t in PThread.unusedWorkerPool){var pthread=PThread.unusedWorkerPool[t];if(pthread){PThread.freeThreadData(pthread);if(pthread.worker)pthread.worker.terminate()}}PThread.unusedWorkerPool=[];for(var t in PThread.runningWorkers){var pthread=PThread.runningWorkers[t];if(pthread){PThread.freeThreadData(pthread);if(pthread.worker)pthread.worker.terminate()}}PThread.runningWorkers=[]}),freeThreadData:(function(pthread){if(!pthread)return;if(pthread.threadInfoStruct){var tlsMemory=HEAP32[pthread.threadInfoStruct+116>>2];HEAP32[pthread.threadInfoStruct+116>>2]=0;_free(pthread.tlsMemory);_free(pthread.threadInfoStruct)}pthread.threadInfoStruct=0;if(pthread.allocatedOwnStack&&pthread.stackBase)_free(pthread.stackBase);pthread.stackBase=0;if(pthread.worker)pthread.worker.pthread=null}),receiveObjectTransfer:(function(data){}),allocateUnusedWorkers:(function(numWorkers,onFinishedLoading){if(typeof SharedArrayBuffer==="undefined")return;Module["print"]("Preallocating "+numWorkers+" workers for a pthread spawn pool.");var numWorkersLoaded=0;for(var i=0;i<numWorkers;++i){var pthreadMainJs="pthread-main.js";if(typeof Module["locateFile"]==="function")pthreadMainJs=Module["locateFile"](pthreadMainJs);else if(Module["pthreadMainPrefixURL"])pthreadMainJs=Module["pthreadMainPrefixURL"]+pthreadMainJs;var worker=new Worker(pthreadMainJs);worker.onmessage=(function(e){if(e.data.targetThread&&e.data.targetThread!=_pthread_self()){var thread=PThread.pthreads[e.data.targetThread];if(thread){thread.worker.postMessage(e.data,e.data.transferList)}else{console.error('Internal error! Worker sent a message "'+e.data.cmd+'" to target pthread '+e.data.targetThread+", but that thread no longer exists!")}return}if(e.data.cmd==="processQueuedMainThreadWork"){_emscripten_main_thread_process_queued_calls()}else if(e.data.cmd==="spawnThread"){__spawn_thread(e.data)}else if(e.data.cmd==="cleanupThread"){__cleanup_thread(e.data.thread)}else if(e.data.cmd==="killThread"){__kill_thread(e.data.thread)}else if(e.data.cmd==="cancelThread"){__cancel_thread(e.data.thread)}else if(e.data.cmd==="loaded"){++numWorkersLoaded;if(numWorkersLoaded===numWorkers&&onFinishedLoading){onFinishedLoading()}}else if(e.data.cmd==="print"){Module["print"]("Thread "+e.data.threadId+": "+e.data.text)}else if(e.data.cmd==="printErr"){Module["printErr"]("Thread "+e.data.threadId+": "+e.data.text)}else if(e.data.cmd==="alert"){alert("Thread "+e.data.threadId+": "+e.data.text)}else if(e.data.cmd==="exit"){}else if(e.data.cmd==="cancelDone"){PThread.freeThreadData(worker.pthread);worker.pthread=undefined;PThread.unusedWorkerPool.push(worker);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker.pthread),1)}else if(e.data.cmd==="objectTransfer"){PThread.receiveObjectTransfer(e.data)}else{Module["printErr"]("worker sent an unknown command "+e.data.cmd)}});worker.onerror=(function(e){Module["printErr"]("pthread sent an error! "+e.filename+":"+e.lineno+": "+e.message)});var tempDoublePtr=getMemory(8);worker.postMessage({cmd:"load",url:currentScriptUrl,buffer:HEAPU8.buffer,tempDoublePtr:tempDoublePtr,TOTAL_MEMORY:TOTAL_MEMORY,STATICTOP:STATICTOP,DYNAMIC_BASE:DYNAMIC_BASE,DYNAMICTOP_PTR:DYNAMICTOP_PTR,PthreadWorkerInit:PthreadWorkerInit,modularize:1,moduleExportName:"OGVDecoderVideoVP8MT"});PThread.unusedWorkerPool.push(worker)}}),getNewWorker:(function(){if(PThread.unusedWorkerPool.length==0)PThread.allocateUnusedWorkers(1);if(PThread.unusedWorkerPool.length>0)return PThread.unusedWorkerPool.pop();else return null}),busySpinWait:(function(msecs){var t=performance.now()+msecs;while(performance.now()<t){}}),setStackSpace:(function(stackBase,stackMax){STACK_BASE=STACKTOP=stackBase;STACK_MAX=stackMax;assert(STACK_BASE!=0);assert(STACK_MAX>STACK_BASE);Module.Runtime.establishStackSpace(stackBase,stackMax)}),registerPthreadPtr:(function(pthreadPtr,isMainBrowserThread,isMainRuntimeThread){__register_pthread_ptr(pthreadPtr,isMainBrowserThread,isMainRuntimeThread)}),wakeAllThreads:(function(){var tb=_pthread_self();_emscripten_futex_wake(tb+0,2147483647)}),runThreadFunc:(function(funcPtr,arg){if(typeof asm["dynCall_ii"]!=="undefined"){result=asm.dynCall_ii(funcPtr,arg)}else{result=asm.dynCall_i(funcPtr)}})};function _emscripten_set_current_thread_status_js(newStatus){}Module["_emscripten_set_current_thread_status"]=_emscripten_set_current_thread_status;function _ogvjs_callback_async_complete(ret,cpuTime){var callback=Module.callbacks.shift();Module.cpuTime+=cpuTime;callback(ret);return}Module["_i64Subtract"]=_i64Subtract;function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_sync_run_in_main_thread_1(72,name);switch(name){case 30:return PAGE_SIZE;case 85:var maxHeapSize=2*1024*1024*1024-16777216;maxHeapSize=HEAPU8.length;return maxHeapSize/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}Module["_memset"]=_memset;function ___pthread_setcancelstate(){return 0}function _atexit(func,arg){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_sync_run_in_main_thread_2(110,func,arg);__ATEXIT__.unshift({func:func,arg:arg})}var _tzname;if(ENVIRONMENT_IS_PTHREAD)_tzname=PthreadWorkerInit._tzname;else PthreadWorkerInit._tzname=_tzname=allocate(8,"i32*",ALLOC_STATIC);var _daylight;if(ENVIRONMENT_IS_PTHREAD)_daylight=PthreadWorkerInit._daylight;else PthreadWorkerInit._daylight=_daylight=allocate(1,"i32*",ALLOC_STATIC);var _timezone;if(ENVIRONMENT_IS_PTHREAD)_timezone=PthreadWorkerInit._timezone;else PthreadWorkerInit._timezone=_timezone=allocate(1,"i32*",ALLOC_STATIC);function _tzset(){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_sync_run_in_main_thread_0(119);if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[_tzname>>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}var __main_thread_futex_wait_address;if(ENVIRONMENT_IS_PTHREAD)__main_thread_futex_wait_address=PthreadWorkerInit.__main_thread_futex_wait_address;else PthreadWorkerInit.__main_thread_futex_wait_address=__main_thread_futex_wait_address=allocate(1,"i32*",ALLOC_STATIC);function _emscripten_futex_wait(addr,val,timeout){if(addr<=0||addr>HEAP8.length||addr&3!=0)return-22;if(ENVIRONMENT_IS_WORKER){var ret=Atomics.wait(HEAP32,addr>>2,val,timeout);if(ret==="timed-out")return-110;if(ret==="not-equal")return-11;if(ret==="ok")return 0;throw"Atomics.wait returned an unexpected value "+ret}else{var loadedVal=Atomics.load(HEAP32,addr>>2);if(val!=loadedVal)return-11;var tNow=performance.now();var tEnd=tNow+timeout;Atomics.store(HEAP32,__main_thread_futex_wait_address>>2,addr);var ourWaitAddress=addr;while(addr==ourWaitAddress){tNow=performance.now();if(tNow>tEnd){return-110}_emscripten_main_thread_process_queued_calls();addr=Atomics.load(HEAP32,__main_thread_futex_wait_address>>2)}return 0}}function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}function __spawn_thread(threadParams){if(ENVIRONMENT_IS_PTHREAD)throw"Internal Error! _spawn_thread() can only ever be called from main application thread!";var worker=PThread.getNewWorker();if(worker.pthread!==undefined)throw"Internal error!";if(!threadParams.pthread_ptr)throw"Internal error, no pthread ptr!";PThread.runningWorkers.push(worker);var tlsMemory=_malloc(128*4);for(var i=0;i<128;++i){HEAP32[tlsMemory+i*4>>2]=0}var pthread=PThread.pthreads[threadParams.pthread_ptr]={worker:worker,stackBase:threadParams.stackBase,stackSize:threadParams.stackSize,allocatedOwnStack:threadParams.allocatedOwnStack,thread:threadParams.pthread_ptr,threadInfoStruct:threadParams.pthread_ptr};Atomics.store(HEAPU32,pthread.threadInfoStruct+0>>2,0);Atomics.store(HEAPU32,pthread.threadInfoStruct+4>>2,0);Atomics.store(HEAPU32,pthread.threadInfoStruct+20>>2,0);Atomics.store(HEAPU32,pthread.threadInfoStruct+80>>2,threadParams.detached);Atomics.store(HEAPU32,pthread.threadInfoStruct+116>>2,tlsMemory);Atomics.store(HEAPU32,pthread.threadInfoStruct+60>>2,0);Atomics.store(HEAPU32,pthread.threadInfoStruct+52>>2,pthread.threadInfoStruct);Atomics.store(HEAPU32,pthread.threadInfoStruct+56>>2,PROCINFO.pid);Atomics.store(HEAPU32,pthread.threadInfoStruct+120>>2,threadParams.stackSize);Atomics.store(HEAPU32,pthread.threadInfoStruct+96>>2,threadParams.stackSize);Atomics.store(HEAPU32,pthread.threadInfoStruct+92>>2,threadParams.stackBase);Atomics.store(HEAPU32,pthread.threadInfoStruct+120+8>>2,threadParams.stackBase);Atomics.store(HEAPU32,pthread.threadInfoStruct+120+12>>2,threadParams.detached);Atomics.store(HEAPU32,pthread.threadInfoStruct+120+20>>2,threadParams.schedPolicy);Atomics.store(HEAPU32,pthread.threadInfoStruct+120+24>>2,threadParams.schedPrio);var global_libc=_emscripten_get_global_libc();var global_locale=global_libc+40;Atomics.store(HEAPU32,pthread.threadInfoStruct+188>>2,global_locale);worker.pthread=pthread;worker.postMessage({cmd:"run",start_routine:threadParams.startRoutine,arg:threadParams.arg,threadInfoStruct:threadParams.pthread_ptr,selfThreadId:threadParams.pthread_ptr,parentThreadId:threadParams.parent_pthread_ptr,stackBase:threadParams.stackBase,stackSize:threadParams.stackSize},threadParams.transferList)}function _pthread_getschedparam(thread,policy,schedparam){if(!policy&&!schedparam)return ERRNO_CODES.EINVAL;if(!thread){Module["printErr"]("pthread_getschedparam called with a null thread pointer!");return ERRNO_CODES.ESRCH}var self=HEAP32[thread+24>>2];if(self!=thread){Module["printErr"]("pthread_getschedparam attempted on thread "+thread+", which does not point to a valid thread, or does not exist anymore!");return ERRNO_CODES.ESRCH}var schedPolicy=Atomics.load(HEAPU32,thread+120+20>>2);var schedPrio=Atomics.load(HEAPU32,thread+120+24>>2);if(policy)HEAP32[policy>>2]=schedPolicy;if(schedparam)HEAP32[schedparam>>2]=schedPrio;return 0}function _pthread_self(){return __pthread_ptr|0}function _pthread_create(pthread_ptr,attr,start_routine,arg){if(typeof SharedArrayBuffer==="undefined"){Module["printErr"]("Current environment does not support SharedArrayBuffer, pthreads are not available!");return 11}if(!pthread_ptr){Module["printErr"]("pthread_create called with a null thread pointer!");return 22}var transferList=[];if(ENVIRONMENT_IS_PTHREAD&&transferList.length==0){return _emscripten_sync_run_in_main_thread_4(137,pthread_ptr,attr,start_routine,arg)}var stackSize=0;var stackBase=0;var detached=0;var schedPolicy=0;var schedPrio=0;if(attr){stackSize=HEAP32[attr>>2];stackBase=HEAP32[attr+8>>2];detached=HEAP32[attr+12>>2]!=0;var inheritSched=HEAP32[attr+16>>2]==0;if(inheritSched){var prevSchedPolicy=HEAP32[attr+20>>2];var prevSchedPrio=HEAP32[attr+24>>2];_pthread_getschedparam(_pthread_self(),attr+20,attr+24);schedPolicy=HEAP32[attr+20>>2];schedPrio=HEAP32[attr+24>>2];HEAP32[attr+20>>2]=prevSchedPolicy;HEAP32[attr+24>>2]=prevSchedPrio}else{schedPolicy=HEAP32[attr+20>>2];schedPrio=HEAP32[attr+24>>2]}}stackSize+=81920;var allocatedOwnStack=stackBase==0;if(allocatedOwnStack){stackBase=_malloc(stackSize)}else{stackBase-=stackSize;assert(stackBase>0)}var threadInfoStruct=_malloc(244);for(var i=0;i<244>>2;++i)HEAPU32[(threadInfoStruct>>2)+i]=0;HEAP32[pthread_ptr>>2]=threadInfoStruct;HEAP32[threadInfoStruct+24>>2]=threadInfoStruct;var headPtr=threadInfoStruct+168;HEAP32[headPtr>>2]=headPtr;var threadParams={stackBase:stackBase,stackSize:stackSize,allocatedOwnStack:allocatedOwnStack,schedPolicy:schedPolicy,schedPrio:schedPrio,detached:detached,startRoutine:start_routine,pthread_ptr:threadInfoStruct,parent_pthread_ptr:_pthread_self(),arg:arg,transferList:transferList};if(ENVIRONMENT_IS_PTHREAD){threadParams.cmd="spawnThread";postMessage(threadParams,transferList)}else{__spawn_thread(threadParams)}return 0}function _chroot(path){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_sync_run_in_main_thread_1(37,path);___setErrNo(ERRNO_CODES.EACCES);return-1}Module["_i64Add"]=_i64Add;var _environ;if(ENVIRONMENT_IS_PTHREAD)_environ=PthreadWorkerInit._environ;else PthreadWorkerInit._environ=_environ=allocate(1,"i32*",ALLOC_STATIC);function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _putenv(string){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_sync_run_in_main_thread_1(115,string);if(string===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}string=Pointer_stringify(string);var splitPoint=string.indexOf("=");if(string===""||string.indexOf("=")===-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=string.slice(0,splitPoint);var value=string.slice(splitPoint+1);if(!(name in ENV)||ENV[name]!==value){ENV[name]=value;___buildEnvironment(ENV)}return 0}function _emscripten_force_num_logical_cores(cores){HEAP32[__num_logical_cores>>2]=cores}var __num_logical_cores;if(ENVIRONMENT_IS_PTHREAD)__num_logical_cores=PthreadWorkerInit.__num_logical_cores;else{PthreadWorkerInit.__num_logical_cores=__num_logical_cores=allocate(1,"i32*",ALLOC_STATIC);HEAPU32[__num_logical_cores>>2]=navigator["hardwareConcurrency"]||4}function _emscripten_num_logical_cores(){return HEAP32[__num_logical_cores>>2]}function _realloc(){throw"bad"}Module["_realloc"]=_realloc;Module["_saveSetjmp"]=_saveSetjmp;function _setenv(envname,envval,overwrite){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_sync_run_in_main_thread_3(113,envname,envval,overwrite);if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}function _emscripten_get_now(){abort()}function _ogvjs_callback_frame(bufferY,strideY,bufferCb,strideCb,bufferCr,strideCr,width,height,chromaWidth,chromaHeight){var HEAPU8=Module.HEAPU8,format=Module.videoFormat,countBytesY=strideY*height,countBytesCb=strideCb*chromaHeight,countBytesCr=strideCr*chromaHeight;Module.frameBuffer={format:{width:width,height:height,chromaWidth:chromaWidth,chromaHeight:chromaHeight,cropLeft:format.cropLeft,cropTop:format.cropTop,cropWidth:format.cropWidth,cropHeight:format.cropHeight,displayWidth:format.displayWidth,displayHeight:format.displayHeight},y:{bytes:copyByteArray(HEAPU8.subarray(bufferY,bufferY+countBytesY)),stride:strideY},u:{bytes:copyByteArray(HEAPU8.subarray(bufferCb,bufferCb+countBytesCb)),stride:strideCb},v:{bytes:copyByteArray(HEAPU8.subarray(bufferCr,bufferCr+countBytesCr)),stride:strideCr}}}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var isPosixPlatform=process.platform!="win32";var fd=process.stdin.fd;if(isPosixPlatform){var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}}try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf("EOF")!=-1)bytesRead=0;else throw e}if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var _stdin;if(ENVIRONMENT_IS_PTHREAD)_stdin=PthreadWorkerInit._stdin;else PthreadWorkerInit._stdin=_stdin=allocate(1,"i32*",ALLOC_STATIC);var _stdout;if(ENVIRONMENT_IS_PTHREAD)_stdout=PthreadWorkerInit._stdout;else PthreadWorkerInit._stdout=_stdout=allocate(1,"i32*",ALLOC_STATIC);var _stderr;if(ENVIRONMENT_IS_PTHREAD)_stderr=PthreadWorkerInit._stderr;else PthreadWorkerInit._stderr=_stderr=allocate(1,"i32*",ALLOC_STATIC);var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdirTree:(function(path,mode){var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=ERRNO_CODES.EEXIST)throw e}}}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall6(which,varargs){if(ENVIRONMENT_IS_PTHREAD){return _emscripten_sync_run_in_main_thread_2(138,6,varargs)}SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){if(ENVIRONMENT_IS_PTHREAD){return _emscripten_sync_run_in_main_thread_2(138,54,varargs)}SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Lshr"]=_bitshift64Lshr;function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _pthread_exit(status){if(!ENVIRONMENT_IS_PTHREAD)_exit(status);else PThread.threadExit(status)}Module["_testSetjmp"]=_testSetjmp;function _longjmp(env,value){Module["setThrew"](env,value||1);throw"longjmp"}function _emscripten_futex_wake_or_requeue(addr,count,addr2,cmpValue){if(addr<=0||addr2<=0||addr>=HEAP8.length||addr2>=HEAP8.length||count<0||addr&3!=0||addr2&3!=0){return-22}var mainThreadWaitAddress=Atomics.load(HEAP32,__main_thread_futex_wait_address>>2);var mainThreadWoken=0;if(mainThreadWaitAddress==addr){var val1=Atomics.load(HEAP32,addr>>2);if(val1!=cmpValue)return-11;var newMainThreadWaitAddress=count>0?0:addr2;var loadedAddr=Atomics.compareExchange(HEAP32,__main_thread_futex_wait_address>>2,mainThreadWaitAddress,newMainThreadWaitAddress);if(loadedAddr==mainThreadWaitAddress&&count>0){--count;mainThreadWoken=1}}var ret=Atomics.wakeOrRequeue(HEAP32,addr>>2,count,addr2>>2,cmpValue);if(ret==Atomics.NOTEQUAL)return-11;if(ret>=0)return ret+mainThreadWoken;throw"Atomics.wakeOrRequeue returned an unexpected value "+ret}function _unsetenv(name){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_sync_run_in_main_thread_1(114,name);if(name===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}name=Pointer_stringify(name);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)){delete ENV[name];___buildEnvironment(ENV)}return 0}function _pthread_cleanup_push(routine,arg){if(PThread.exitHandlers===null){PThread.exitHandlers=[];if(!ENVIRONMENT_IS_PTHREAD){__ATEXIT__.push((function(){PThread.runExitHandlers()}))}}PThread.exitHandlers.push((function(){Module["dynCall_vi"](routine,arg)}))}function _emscripten_get_now_is_monotonic(){return ENVIRONMENT_IS_NODE||typeof dateNow!=="undefined"||(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self["performance"]&&self["performance"]["now"]}function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if(clk_id===1&&_emscripten_get_now_is_monotonic()){now=_emscripten_get_now()}else{___setErrNo(ERRNO_CODES.EINVAL);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}function ___clock_gettime(){return _clock_gettime.apply(null,arguments)}function _getenv(name){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_sync_run_in_main_thread_1(111,name);if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _emscripten_conditional_set_current_thread_status_js(expectedStatus,newStatus){}Module["_emscripten_conditional_set_current_thread_status"]=_emscripten_conditional_set_current_thread_status;function _pthread_cleanup_pop(execute){var routine=PThread.exitHandlers.pop();if(execute)routine()}function __cleanup_thread(pthread_ptr){if(ENVIRONMENT_IS_PTHREAD)throw"Internal Error! _cleanup_thread() can only ever be called from main application thread!";if(!pthread_ptr)throw"Internal Error! Null pthread_ptr in _cleanup_thread!";HEAP32[pthread_ptr+24>>2]=0;var pthread=PThread.pthreads[pthread_ptr];var worker=pthread.worker;PThread.freeThreadData(pthread);worker.pthread=undefined;PThread.unusedWorkerPool.push(worker);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker.pthread),1)}function __pthread_testcancel_js(){if(!ENVIRONMENT_IS_PTHREAD)return;if(!threadInfoStruct)return;var cancelDisabled=Atomics.load(HEAPU32,threadInfoStruct+72>>2);if(cancelDisabled)return;var canceled=Atomics.load(HEAPU32,threadInfoStruct+0>>2);if(canceled==2)throw"Canceled!"}function _pthread_join(thread,status){if(!thread){Module["printErr"]("pthread_join attempted on a null thread pointer!");return ERRNO_CODES.ESRCH}if(ENVIRONMENT_IS_PTHREAD&&selfThreadId==thread){Module["printErr"]("PThread "+thread+" is attempting to join to itself!");return ERRNO_CODES.EDEADLK}else if(!ENVIRONMENT_IS_PTHREAD&&PThread.mainThreadBlock==thread){Module["printErr"]("Main thread "+thread+" is attempting to join to itself!");return ERRNO_CODES.EDEADLK}var self=HEAP32[thread+24>>2];if(self!=thread){Module["printErr"]("pthread_join attempted on thread "+thread+", which does not point to a valid thread, or does not exist anymore!");return ERRNO_CODES.ESRCH}var detached=Atomics.load(HEAPU32,thread+80>>2);if(detached){Module["printErr"]("Attempted to join thread "+thread+", which was already detached!");return ERRNO_CODES.EINVAL}for(;;){var threadStatus=Atomics.load(HEAPU32,thread+0>>2);if(threadStatus==1){var threadExitCode=Atomics.load(HEAPU32,thread+4>>2);if(status)HEAP32[status>>2]=threadExitCode;Atomics.store(HEAPU32,thread+80>>2,1);if(!ENVIRONMENT_IS_PTHREAD)__cleanup_thread(thread);else postMessage({cmd:"cleanupThread",thread:thread});return 0}__pthread_testcancel_js();if(!ENVIRONMENT_IS_PTHREAD)_emscripten_main_thread_process_queued_calls();_emscripten_futex_wait(thread+0,threadStatus,ENVIRONMENT_IS_PTHREAD?100:1)}}function _confstr(name,buf,len){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_sync_run_in_main_thread_3(68,name,buf,len);var value;switch(name){case 0:value=ENV["PATH"]||"/";break;case 1:value="POSIX_V6_ILP32_OFF32\nPOSIX_V6_ILP32_OFFBIG";break;case 2:value="glibc 2.14";break;case 3:value="";break;case 1118:case 1122:case 1124:case 1125:case 1126:case 1128:case 1129:case 1130:value="";break;case 1116:case 1117:case 1121:value="-m32";break;case 1120:value="-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64";break;default:___setErrNo(ERRNO_CODES.EINVAL);return 0}if(len==0||buf==0){return value.length+1}else{var length=Math.min(len,value.length);for(var i=0;i<length;i++){HEAP8[buf+i>>0]=value.charCodeAt(i)}if(len>length)HEAP8[buf+i++>>0]=0;return i}}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function _utime(path,times){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_sync_run_in_main_thread_2(12,path,times);var time;if(times){var offset=4;time=HEAP32[times+offset>>2];time*=1e3}else{time=Date.now()}path=Pointer_stringify(path);try{FS.utime(path,time,time);return 0}catch(e){FS.handleFSError(e);return-1}}var cttz_i8;if(ENVIRONMENT_IS_PTHREAD)cttz_i8=PthreadWorkerInit.cttz_i8;else PthreadWorkerInit.cttz_i8=cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);Module["_llvm_cttz_i32"]=_llvm_cttz_i32;Module["___udivmoddi4"]=___udivmoddi4;Module["___udivdi3"]=___udivdi3;function _emscripten_futex_wake(addr,count){if(addr<=0||addr>HEAP8.length||addr&3!=0||count<0)return-22;if(count==0)return 0;var mainThreadWaitAddress=Atomics.load(HEAP32,__main_thread_futex_wait_address>>2);var mainThreadWoken=0;if(mainThreadWaitAddress==addr){var loadedAddr=Atomics.compareExchange(HEAP32,__main_thread_futex_wait_address>>2,mainThreadWaitAddress,0);if(loadedAddr==mainThreadWaitAddress){--count;mainThreadWoken=1;if(count<=0)return 1}}var ret=Atomics.wake(HEAP32,addr>>2,count);if(ret>=0)return ret+mainThreadWoken;throw"Atomics.wake returned an unexpected value "+ret}function _emscripten_syscall(which,varargs){switch(which){case 6:return ___syscall6(which,varargs);case 54:return ___syscall54(which,varargs);case 146:return ___syscall146(which,varargs);case 140:return ___syscall140(which,varargs);default:throw"surprising proxied syscall: "+which}}Module["_bitshift64Shl"]=_bitshift64Shl;function ___syscall146(which,varargs){if(ENVIRONMENT_IS_PTHREAD){return _emscripten_sync_run_in_main_thread_2(138,146,varargs)}SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_is_main_runtime_thread(){return __pthread_is_main_runtime_thread|0}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["___uremdi3"]=___uremdi3;function _fpathconf(fildes,name){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_sync_run_in_main_thread_2(46,fildes,name);switch(name){case 0:return 32e3;case 1:case 2:case 3:return 255;case 4:case 5:case 16:case 17:case 18:return 4096;case 6:case 7:case 20:return 1;case 8:return 0;case 9:case 10:case 11:case 12:case 14:case 15:case 19:return-1;case 13:return 64}___setErrNo(ERRNO_CODES.EINVAL);return-1}function _abort(){Module["abort"]()}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;Module["_sbrk"]=_sbrk;function ___syscall140(which,varargs){if(ENVIRONMENT_IS_PTHREAD){return _emscripten_sync_run_in_main_thread_2(138,140,varargs)}SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _utimes(path,times){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_sync_run_in_main_thread_2(13,path,times);var time;if(times){var offset=8+0;time=HEAP32[times+offset>>2]*1e3;offset=8+4;time+=HEAP32[times+offset>>2]/1e3}else{time=Date.now()}path=Pointer_stringify(path);try{FS.utime(path,time,time);return 0}catch(e){FS.handleFSError(e);return-1}}function _clearenv(name){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_sync_run_in_main_thread_1(112,name);ENV={};___buildEnvironment(ENV);return 0}if(!ENVIRONMENT_IS_PTHREAD){PThread.initMainThreadBlock()}else{Module.PThread=PThread}if(!ENVIRONMENT_IS_PTHREAD)___buildEnvironment(ENV);if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof self==="object"&&self["performance"]&&typeof self["performance"]["now"]==="function"){_emscripten_get_now=(function(){return self["performance"]["now"]()})}else if(typeof performance==="object"&&typeof performance["now"]==="function"){_emscripten_get_now=(function(){return performance["now"]()})}else{_emscripten_get_now=Date.now}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}if(!ENVIRONMENT_IS_PTHREAD){DYNAMICTOP_PTR=allocate(1,"i32",ALLOC_STATIC);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_i(index){try{return Module["dynCall_i"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmGlobalArg["Atomics"]=Atomics;Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_iiii":invoke_iiii,"invoke_i":invoke_i,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_viiiiii":invoke_viiiiii,"invoke_iii":invoke_iii,"invoke_iiiiii":invoke_iiiiii,"invoke_viiii":invoke_viiii,"__spawn_thread":__spawn_thread,"_pthread_cleanup_pop":_pthread_cleanup_pop,"_putenv":_putenv,"_emscripten_get_now_is_monotonic":_emscripten_get_now_is_monotonic,"_emscripten_is_main_runtime_thread":_emscripten_is_main_runtime_thread,"_tzset":_tzset,"_unsetenv":_unsetenv,"_emscripten_futex_wake_or_requeue":_emscripten_futex_wake_or_requeue,"_emscripten_syscall":_emscripten_syscall,"___assert_fail":___assert_fail,"_utimes":_utimes,"___buildEnvironment":___buildEnvironment,"_longjmp":_longjmp,"_sysconf":_sysconf,"_clock_gettime":_clock_gettime,"_emscripten_futex_wait":_emscripten_futex_wait,"_ogvjs_callback_async_complete":_ogvjs_callback_async_complete,"___setErrNo":___setErrNo,"_emscripten_set_current_thread_status_js":_emscripten_set_current_thread_status_js,"_pthread_getschedparam":_pthread_getschedparam,"_clearenv":_clearenv,"_emscripten_asm_const_v":_emscripten_asm_const_v,"_emscripten_futex_wake":_emscripten_futex_wake,"__exit":__exit,"_utime":_utime,"___pthread_setcancelstate":___pthread_setcancelstate,"___syscall6":___syscall6,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_ogvjs_callback_frame":_ogvjs_callback_frame,"_exit":_exit,"_confstr":_confstr,"_pthread_self":_pthread_self,"_pthread_join":_pthread_join,"_getenv":_getenv,"_pthread_exit":_pthread_exit,"___syscall54":___syscall54,"_emscripten_num_logical_cores":_emscripten_num_logical_cores,"_pthread_create":_pthread_create,"__register_pthread_ptr":__register_pthread_ptr,"_emscripten_get_now":_emscripten_get_now,"_chroot":_chroot,"_emscripten_force_num_logical_cores":_emscripten_force_num_logical_cores,"__pthread_testcancel_js":__pthread_testcancel_js,"_abort":_abort,"_pthread_cleanup_push":_pthread_cleanup_push,"___clock_gettime":___clock_gettime,"__cleanup_thread":__cleanup_thread,"_gettimeofday":_gettimeofday,"_atexit":_atexit,"___syscall140":___syscall140,"_fpathconf":_fpathconf,"_setenv":_setenv,"___syscall146":___syscall146,"_emscripten_conditional_set_current_thread_status_js":_emscripten_conditional_set_current_thread_status_js,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
var asm=(function(global,env,buffer) {
"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.DYNAMICTOP_PTR|0;var j=env.tempDoublePtr|0;var k=env.ABORT|0;var l=env.STACKTOP|0;var m=env.STACK_MAX|0;var n=env.cttz_i8|0;var o=0;var p=0;var q=0;var r=0;var s=global.NaN,t=global.Infinity;var u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0.0;var D=0;var E=global.Math.floor;var F=global.Math.abs;var G=global.Math.sqrt;var H=global.Math.pow;var I=global.Math.cos;var J=global.Math.sin;var K=global.Math.tan;var L=global.Math.acos;var M=global.Math.asin;var N=global.Math.atan;var O=global.Math.atan2;var P=global.Math.exp;var Q=global.Math.log;var R=global.Math.ceil;var S=global.Math.imul;var T=global.Math.min;var U=global.Math.max;var V=global.Math.clz32;var W=env.abort;var X=env.assert;var Y=env.enlargeMemory;var Z=env.getTotalMemory;var _=env.abortOnCannotGrowMemory;var $=env.invoke_iiii;var aa=env.invoke_i;var ba=env.invoke_vi;var ca=env.invoke_vii;var da=env.invoke_ii;var ea=env.invoke_viii;var fa=env.invoke_v;var ga=env.invoke_viiiiii;var ha=env.invoke_iii;var ia=env.invoke_iiiiii;var ja=env.invoke_viiii;var ka=env.__spawn_thread;var la=env._pthread_cleanup_pop;var ma=env._putenv;var na=env._emscripten_get_now_is_monotonic;var oa=env._emscripten_is_main_runtime_thread;var pa=env._tzset;var qa=env._unsetenv;var ra=env._emscripten_futex_wake_or_requeue;var sa=env._emscripten_syscall;var ta=env.___assert_fail;var ua=env._utimes;var va=env.___buildEnvironment;var wa=env._longjmp;var xa=env._sysconf;var ya=env._clock_gettime;var za=env._emscripten_futex_wait;var Aa=env._ogvjs_callback_async_complete;var Ba=env.___setErrNo;var Ca=env._emscripten_set_current_thread_status_js;var Da=env._pthread_getschedparam;var Ea=env._clearenv;var Fa=env._emscripten_asm_const_v;var Ga=env._emscripten_futex_wake;var Ha=env.__exit;var Ia=env._utime;var Ja=env.___pthread_setcancelstate;var Ka=env.___syscall6;var La=env._emscripten_memcpy_big;var Ma=env._ogvjs_callback_frame;var Na=env._exit;var Oa=env._confstr;var Pa=env._pthread_self;var Qa=env._pthread_join;var Ra=env._getenv;var Sa=env._pthread_exit;var Ta=env.___syscall54;var Ua=env._emscripten_num_logical_cores;var Va=env._pthread_create;var Wa=env.__register_pthread_ptr;var Xa=env._emscripten_get_now;var Ya=env._chroot;var Za=env._emscripten_force_num_logical_cores;var _a=env.__pthread_testcancel_js;var $a=env._abort;var ab=env._pthread_cleanup_push;var bb=env.___clock_gettime;var cb=env.__cleanup_thread;var db=env._gettimeofday;var eb=env._atexit;var fb=env.___syscall140;var gb=env._fpathconf;var hb=env._setenv;var ib=env.___syscall146;var jb=env._emscripten_conditional_set_current_thread_status_js;var kb=global.Atomics.load;var lb=global.Atomics.store;var mb=global.Atomics.exchange;var nb=global.Atomics.compareExchange;var ob=global.Atomics.add;var pb=global.Atomics.sub;var qb=global.Atomics.and;var rb=global.Atomics.or;var sb=global.Atomics.xor;var tb=0.0;
// EMSCRIPTEN_START_FUNCS
function qe(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0;h=l;l=l+96|0;i=h+80|0;j=h+32|0;k=h+16|0;m=h;n=c[e+11848>>2]|0;o=e+5720|0;c[i>>2]=(c[o>>2]|0)+n;p=c[e+11436>>2]|0;q=c[e+3232>>2]|0;r=c[e+3236>>2]|0;s=c[q+16>>2]|0;t=c[q+36>>2]|0;c[k>>2]=0;c[j+12>>2]=c[r+52>>2];c[j+16>>2]=c[r+56>>2];c[j+20>>2]=c[r+60>>2];c[k+4>>2]=c[r+112>>2];u=c[e+3240>>2]|0;c[j+24>>2]=c[u+52>>2];c[j+28>>2]=c[u+56>>2];c[j+32>>2]=c[u+60>>2];c[k+8>>2]=c[u+112>>2];u=c[e+3244>>2]|0;c[j+36>>2]=c[u+52>>2];c[j+40>>2]=c[u+56>>2];c[j+44>>2]=c[u+60>>2];c[k+12>>2]=c[u+112>>2];u=1<<p;p=c[q+52>>2]|0;v=c[q+56>>2]|0;w=c[q+60>>2]|0;x=f+3100|0;c[x>>2]=(g|0)!=0&1;y=c[e+5724>>2]|0;z=f+3088|0;c[z>>2]=(c[e+5772>>2]|0)+((S(y,g)|0)*76|0);A=f+3092|0;c[A>>2]=y;y=e+5716|0;B=c[y>>2]|0;if((B|0)>(g|0)){C=f+3216|0;D=e+11852|0;E=s<<4;F=t<<3;G=e+9188|0;H=f+3140|0;I=f+3144|0;J=f+3104|0;K=f+3192|0;L=f+3196|0;M=e+9136|0;N=f+3108|0;O=f+3112|0;P=f+3116|0;Q=f+3120|0;R=f+3124|0;T=f+3128|0;U=f+2984|0;V=f+3004|0;W=f+3132|0;X=f+3136|0;Y=e+11892|0;Z=e+11896|0;_=e+11900|0;$=e+11904|0;aa=f+3120|0;ba=e+11908|0;ca=e+11912|0;da=f+3020|0;ea=f+3024|0;fa=f+3028|0;ga=e+11856|0;ha=e+11888|0;ia=e+11824|0;ja=f+3184|0;ka=f+3188|0;la=f+2900|0;ma=f+2904|0;na=f+2908|0;oa=f+3220|0;pa=f+3148|0;qa=f+2016|0;ra=f+1984|0;sa=f+896|0;ta=f+2112|0;ua=f+2e3|0;va=f+384|0;wa=f+2816|0;xa=f+2008|0;ya=f+2080|0;za=f+2820|0;Aa=f+2048|0;Ba=e+5780|0;Ca=e+5700|0;Da=m+4|0;Ea=m+8|0;Fa=m+12|0;Ga=s*15|0;Ha=t*7|0;Ia=n+-1|0;Ja=s+15|0;Ka=(s<<1)+15|0;La=(s*3|0)+15|0;Ma=(s<<2)+15|0;Na=(s*5|0)+15|0;Oa=(s*6|0)+15|0;Pa=(s*7|0)+15|0;Qa=(s<<3)+15|0;Ra=(s*9|0)+15|0;Sa=(s*10|0)+15|0;Ta=(s*11|0)+15|0;Ua=(s*12|0)+15|0;Va=(s*13|0)+15|0;Wa=(s*14|0)+15|0;Xa=Ga+15|0;Ya=t+7|0;Za=(t<<1)+7|0;_a=(t*3|0)+7|0;$a=(t<<2)+7|0;ab=(t*5|0)+7|0;bb=(t*6|0)+7|0;cb=Ha+7|0;db=g;while(1){c[C>>2]=e+11456+(((db|0)%(u|0)|0)*28|0);eb=(db|0)>0;fb=c[D>>2]|0;gb=db+-1|0;hb=eb?fb+(gb<<2)|0:i;ib=fb+(db<<2)|0;fb=S(E,db)|0;jb=S(F,db)|0;c[H>>2]=c[G>>2];kb=c[I>>2]|0;lb=kb+9|0;do{a[kb>>0]=0;kb=kb+1|0}while((kb|0)<(lb|0));c[J>>2]=0;c[K>>2]=0-(db<<7);c[L>>2]=33554431-db+(c[y>>2]|0)<<7;if(!(c[M>>2]|0)){mb=p+fb|0;nb=v+jb|0;ob=w+jb|0;pb=mb+-1|0;c[Q>>2]=pb;qb=nb+-1|0;c[R>>2]=qb;rb=ob+-1|0;c[T>>2]=rb;sb=c[U>>2]|0;c[N>>2]=mb+(0-sb);mb=c[V>>2]|0;tb=0-mb|0;c[O>>2]=nb+tb;c[P>>2]=ob+tb;c[W>>2]=sb;c[X>>2]=mb;a[pb>>0]=-127;a[pb+sb>>0]=-127;a[pb+(sb<<1)>>0]=-127;a[pb+(sb*3|0)>>0]=-127;a[pb+(sb<<2)>>0]=-127;a[pb+(sb*5|0)>>0]=-127;a[pb+(sb*6|0)>>0]=-127;a[pb+(sb*7|0)>>0]=-127;a[pb+(sb<<3)>>0]=-127;a[pb+(sb*9|0)>>0]=-127;a[pb+(sb*10|0)>>0]=-127;a[pb+(sb*11|0)>>0]=-127;a[pb+(sb*12|0)>>0]=-127;a[pb+(sb*13|0)>>0]=-127;a[pb+(sb*14|0)>>0]=-127;a[pb+(sb*15|0)>>0]=-127;a[qb>>0]=-127;a[qb+mb>>0]=-127;sb=mb<<1;a[qb+sb>>0]=-127;pb=mb*3|0;a[qb+pb>>0]=-127;tb=mb<<2;a[qb+tb>>0]=-127;ob=mb*5|0;a[qb+ob>>0]=-127;nb=mb*6|0;a[qb+nb>>0]=-127;ub=mb*7|0;a[qb+ub>>0]=-127;a[rb>>0]=-127;a[rb+mb>>0]=-127;a[rb+sb>>0]=-127;a[rb+pb>>0]=-127;a[rb+tb>>0]=-127;a[rb+ob>>0]=-127;a[rb+nb>>0]=-127;a[rb+ub>>0]=-127}else{c[N>>2]=(c[(c[Y>>2]|0)+(db<<2)>>2]|0)+32;c[O>>2]=(c[(c[Z>>2]|0)+(db<<2)>>2]|0)+16;c[P>>2]=(c[(c[_>>2]|0)+(db<<2)>>2]|0)+16;c[aa>>2]=c[(c[$>>2]|0)+(db<<2)>>2];c[R>>2]=c[(c[ba>>2]|0)+(db<<2)>>2];c[T>>2]=c[(c[ca>>2]|0)+(db<<2)>>2];c[W>>2]=1;c[X>>2]=1}if((c[o>>2]|0)>0){ub=(db|0)!=0;rb=db+1|0;nb=0;ob=jb;tb=fb;while(1){pb=nb+-1|0;if(!((pb|0)%(n|0)|0)){sb=(c[ga>>2]|0)+(db*28|0)|0;mb=(c[ha>>2]|0)+(db*48|0)|0;fg(sb)|0;c[ib>>2]=pb;if(mb|0)tg(mb)|0;cg(sb)|0}if(ub&(nb&Ia|0)==0){sb=(c[ga>>2]|0)+(gb*28|0)|0;mb=(c[ha>>2]|0)+(gb*48|0)|0;fg(sb)|0;if(((c[hb>>2]|0)-n|0)<(nb|0))do zg(mb,sb)|0;while(((c[hb>>2]|0)-n|0)<(nb|0));cg(sb)|0}mb=nb<<4;c[ja>>2]=0-(nb<<7);c[ka>>2]=33554431-nb+(c[o>>2]|0)<<7;c[da>>2]=p+tb;c[ea>>2]=v+ob;c[fa>>2]=w+ob;pb=c[z>>2]|0;qb=d[pb+2>>0]|0;c[la>>2]=(c[j+(qb*12|0)>>2]|0)+tb;c[ma>>2]=(c[j+(qb*12|0)+4>>2]|0)+ob;c[na>>2]=(c[j+(qb*12|0)+8>>2]|0)+ob;c[oa>>2]=c[oa>>2]|c[k+(qb<<2)>>2];if(!(a[pb+9>>0]|0))if(((c[(c[C>>2]|0)+12>>2]|0)+-33|0)>>>0<1073741791)vb=pb;else{pb=(de(e,f)|0)==0&1;qb=c[z>>2]|0;a[qb+9>>0]=pb;vb=qb}else{ce(f);vb=c[z>>2]|0}qb=a[vb>>0]|0;if(!(a[pa>>0]|0))wb=vb;else{$d(e,f);wb=c[z>>2]|0}a:do if(!(a[wb+2>>0]|0)){Cd(f,c[O>>2]|0,c[P>>2]|0,c[R>>2]|0,c[T>>2]|0,c[X>>2]|0,c[ea>>2]|0,c[fa>>2]|0,c[V>>2]|0);pb=c[N>>2]|0;if(qb<<24>>24!=4){Bd(f,pb,c[aa>>2]|0,c[W>>2]|0,c[da>>2]|0,c[U>>2]|0);break}xb=c[U>>2]|0;yb=c[z>>2]|0;if(a[yb+9>>0]|0){c[ra>>2]=0;c[ra+4>>2]=0;c[ra+8>>2]=0;c[ra+12>>2]=0;c[ra+16>>2]=0;c[ra+20>>2]=0;a[ra+24>>0]=0}zb=pb+16|0;pb=c[da>>2]|0;Ab=0-xb|0;Bb=pb+Ab+16|0;c[Bb+(xb<<2)>>2]=c[zb>>2];c[Bb+(xb<<3)>>2]=c[zb>>2];c[Bb+(xb*12|0)>>2]=c[zb>>2];zb=pb;pb=yb;yb=0;while(1){Bb=c[f+2144+(yb*28|0)+16>>2]|0;Cb=zb+Bb|0;Db=c[pb+12+(yb<<2)>>2]|0;if((yb|0)<4?(c[M>>2]|0)!=0:0)Eb=(c[N>>2]|0)+Bb|0;else Eb=Cb+Ab|0;if((yb&3|0)==0?(c[M>>2]|0)!=0:0){Fb=1;Gb=(c[aa>>2]|0)+yb|0}else{Fb=xb;Gb=Cb+-1|0}switch(yb|0){case 4:case 8:case 12:{if(!(c[M>>2]|0))Hb=Eb;else Hb=(c[aa>>2]|0)+yb|0;break}default:Hb=Eb}Gd(Eb,Gb,Fb,Db,Cb,xb,a[Hb+-1>>0]|0);Db=a[f+1984+yb>>0]|0;do if(Db<<24>>24){Bb=f+2144+(yb*28|0)|0;Ib=c[Bb>>2]|0;if(Db<<24>>24>1){Fc(Ib,qa,Cb,xb);break}else{Wc((S(b[qa>>1]|0,b[Ib>>1]|0)|0)&65535,Cb,xb,Cb,xb);Ib=c[Bb>>2]|0;b[Ib>>1]=0;b[Ib+2>>1]=0>>>16;break}}while(0);Cb=yb+1|0;if((Cb|0)==16)break a;zb=c[da>>2]|0;pb=c[z>>2]|0;yb=Cb}}else zd(f);while(0);if(!(a[(c[z>>2]|0)+9>>0]|0)){b:do switch(qb<<24>>24){case 4:break;case 9:{Jb=qa;Kb=51;break}default:if((a[xa>>0]|0)>1){Ec(wa,ya);Xc(c[za>>2]|0,va);kb=c[wa>>2]|0;lb=kb+32|0;do{b[kb>>1]=0;kb=kb+2|0}while((kb|0)<(lb|0));Jb=Aa;Kb=51;break b}else{sb=(S(b[ya>>1]|0,b[c[wa>>2]>>1]|0)|0)&65535;yb=c[za>>2]|0;b[yb>>1]=sb;Yc(yb,va);yb=c[wa>>2]|0;b[yb>>1]=0;b[yb+2>>1]=0>>>16;Jb=Aa;Kb=51;break b}}while(0);if((Kb|0)==51){Kb=0;Tc(va,Jb,c[da>>2]|0,c[U>>2]|0,ra)}Uc(sa,ta,c[ea>>2]|0,c[fa>>2]|0,c[V>>2]|0,ua)}c[J>>2]=1;c[oa>>2]=((c[(c[C>>2]|0)+12>>2]|0)+-33|0)>>>0<1073741791|c[oa>>2];c[N>>2]=(c[N>>2]|0)+16;c[O>>2]=(c[O>>2]|0)+8;c[P>>2]=(c[P>>2]|0)+8;do if(c[M>>2]|0){qb=c[z>>2]|0;yb=a[qb>>0]|0;sb=yb&255;switch(yb<<24>>24){case 9:case 4:{Lb=0;break}default:Lb=(a[qb+9>>0]|0)!=0}yb=a[(d[e+9120+sb>>0]|0)+(e+8928+(d[qb+11>>0]<<4)+(d[qb+2>>0]<<2))>>0]|0;qb=yb&255;if((db|0)!=((c[y>>2]|0)+-1|0)){kb=(c[(c[Y>>2]|0)+(rb<<2)>>2]|0)+32+mb|0;sb=(c[da>>2]|0)+Ga|0;lb=kb+16|0;do{a[kb>>0]=a[sb>>0]|0;kb=kb+1|0;sb=sb+1|0}while((kb|0)<(lb|0));sb=nb<<3;pb=(c[ea>>2]|0)+Ha|0;zb=pb;xb=d[zb>>0]|d[zb+1>>0]<<8|d[zb+2>>0]<<16|d[zb+3>>0]<<24;zb=pb+4|0;pb=d[zb>>0]|d[zb+1>>0]<<8|d[zb+2>>0]<<16|d[zb+3>>0]<<24;zb=(c[(c[Z>>2]|0)+(rb<<2)>>2]|0)+16+sb|0;Ab=zb;a[Ab>>0]=xb;a[Ab+1>>0]=xb>>8;a[Ab+2>>0]=xb>>16;a[Ab+3>>0]=xb>>24;xb=zb+4|0;a[xb>>0]=pb;a[xb+1>>0]=pb>>8;a[xb+2>>0]=pb>>16;a[xb+3>>0]=pb>>24;pb=(c[fa>>2]|0)+Ha|0;xb=pb;zb=d[xb>>0]|d[xb+1>>0]<<8|d[xb+2>>0]<<16|d[xb+3>>0]<<24;xb=pb+4|0;pb=d[xb>>0]|d[xb+1>>0]<<8|d[xb+2>>0]<<16|d[xb+3>>0]<<24;xb=(c[(c[_>>2]|0)+(rb<<2)>>2]|0)+16+sb|0;sb=xb;a[sb>>0]=zb;a[sb+1>>0]=zb>>8;a[sb+2>>0]=zb>>16;a[sb+3>>0]=zb>>24;zb=xb+4|0;a[zb>>0]=pb;a[zb+1>>0]=pb>>8;a[zb+2>>0]=pb>>16;a[zb+3>>0]=pb>>24}if((nb|0)!=((c[o>>2]|0)+-1|0)?(a[(c[z>>2]|0)+78>>0]|0)==0:0){a[c[(c[$>>2]|0)+(db<<2)>>2]>>0]=a[(c[da>>2]|0)+15>>0]|0;a[(c[(c[$>>2]|0)+(db<<2)>>2]|0)+1>>0]=a[(c[da>>2]|0)+Ja>>0]|0;a[(c[(c[$>>2]|0)+(db<<2)>>2]|0)+2>>0]=a[(c[da>>2]|0)+Ka>>0]|0;a[(c[(c[$>>2]|0)+(db<<2)>>2]|0)+3>>0]=a[(c[da>>2]|0)+La>>0]|0;a[(c[(c[$>>2]|0)+(db<<2)>>2]|0)+4>>0]=a[(c[da>>2]|0)+Ma>>0]|0;a[(c[(c[$>>2]|0)+(db<<2)>>2]|0)+5>>0]=a[(c[da>>2]|0)+Na>>0]|0;a[(c[(c[$>>2]|0)+(db<<2)>>2]|0)+6>>0]=a[(c[da>>2]|0)+Oa>>0]|0;a[(c[(c[$>>2]|0)+(db<<2)>>2]|0)+7>>0]=a[(c[da>>2]|0)+Pa>>0]|0;a[(c[(c[$>>2]|0)+(db<<2)>>2]|0)+8>>0]=a[(c[da>>2]|0)+Qa>>0]|0;a[(c[(c[$>>2]|0)+(db<<2)>>2]|0)+9>>0]=a[(c[da>>2]|0)+Ra>>0]|0;a[(c[(c[$>>2]|0)+(db<<2)>>2]|0)+10>>0]=a[(c[da>>2]|0)+Sa>>0]|0;a[(c[(c[$>>2]|0)+(db<<2)>>2]|0)+11>>0]=a[(c[da>>2]|0)+Ta>>0]|0;a[(c[(c[$>>2]|0)+(db<<2)>>2]|0)+12>>0]=a[(c[da>>2]|0)+Ua>>0]|0;a[(c[(c[$>>2]|0)+(db<<2)>>2]|0)+13>>0]=a[(c[da>>2]|0)+Va>>0]|0;a[(c[(c[$>>2]|0)+(db<<2)>>2]|0)+14>>0]=a[(c[da>>2]|0)+Wa>>0]|0;a[(c[(c[$>>2]|0)+(db<<2)>>2]|0)+15>>0]=a[(c[da>>2]|0)+Xa>>0]|0;a[c[(c[ba>>2]|0)+(db<<2)>>2]>>0]=a[(c[ea>>2]|0)+7>>0]|0;a[c[(c[ca>>2]|0)+(db<<2)>>2]>>0]=a[(c[fa>>2]|0)+7>>0]|0;a[(c[(c[ba>>2]|0)+(db<<2)>>2]|0)+1>>0]=a[(c[ea>>2]|0)+Ya>>0]|0;a[(c[(c[ca>>2]|0)+(db<<2)>>2]|0)+1>>0]=a[(c[fa>>2]|0)+Ya>>0]|0;a[(c[(c[ba>>2]|0)+(db<<2)>>2]|0)+2>>0]=a[(c[ea>>2]|0)+Za>>0]|0;a[(c[(c[ca>>2]|0)+(db<<2)>>2]|0)+2>>0]=a[(c[fa>>2]|0)+Za>>0]|0;a[(c[(c[ba>>2]|0)+(db<<2)>>2]|0)+3>>0]=a[(c[ea>>2]|0)+_a>>0]|0;a[(c[(c[ca>>2]|0)+(db<<2)>>2]|0)+3>>0]=a[(c[fa>>2]|0)+_a>>0]|0;a[(c[(c[ba>>2]|0)+(db<<2)>>2]|0)+4>>0]=a[(c[ea>>2]|0)+$a>>0]|0;a[(c[(c[ca>>2]|0)+(db<<2)>>2]|0)+4>>0]=a[(c[fa>>2]|0)+$a>>0]|0;a[(c[(c[ba>>2]|0)+(db<<2)>>2]|0)+5>>0]=a[(c[ea>>2]|0)+ab>>0]|0;a[(c[(c[ca>>2]|0)+(db<<2)>>2]|0)+5>>0]=a[(c[fa>>2]|0)+ab>>0]|0;a[(c[(c[ba>>2]|0)+(db<<2)>>2]|0)+6>>0]=a[(c[ea>>2]|0)+bb>>0]|0;a[(c[(c[ca>>2]|0)+(db<<2)>>2]|0)+6>>0]=a[(c[fa>>2]|0)+bb>>0]|0;a[(c[(c[ba>>2]|0)+(db<<2)>>2]|0)+7>>0]=a[(c[ea>>2]|0)+cb>>0]|0;a[(c[(c[ca>>2]|0)+(db<<2)>>2]|0)+7>>0]=a[(c[fa>>2]|0)+cb>>0]|0}if(yb<<24>>24){if(c[Ba>>2]|0){if((nb|0)>0)jd(c[da>>2]|0,s,e+5792+(qb<<4)|0);if(!Lb)pd(c[da>>2]|0,s,e+6816+(qb<<4)|0);if(eb)id(c[da>>2]|0,s,e+5792+(qb<<4)|0);if(Lb)break;nd(c[da>>2]|0,s,e+6816+(qb<<4)|0);break}pb=d[e+8992+(c[Ca>>2]<<6)+qb>>0]|0;c[m>>2]=e+5792+(qb<<4);c[Da>>2]=e+6816+(qb<<4);c[Ea>>2]=e+7840+(qb<<4);c[Fa>>2]=e+8864+(pb<<4);if((nb|0)>0)ld(c[da>>2]|0,c[ea>>2]|0,c[fa>>2]|0,s,t,m);if(!Lb)od(c[da>>2]|0,c[ea>>2]|0,c[fa>>2]|0,s,t,m);if(eb)kd(c[da>>2]|0,c[ea>>2]|0,c[fa>>2]|0,s,t,m);if(!Lb)md(c[da>>2]|0,c[ea>>2]|0,c[fa>>2]|0,s,t,m)}}else{c[Q>>2]=(c[Q>>2]|0)+16;c[R>>2]=(c[R>>2]|0)+8;c[T>>2]=(c[T>>2]|0)+8}while(0);c[z>>2]=(c[z>>2]|0)+76;c[H>>2]=(c[H>>2]|0)+9;mb=nb+1|0;if((mb|0)<(c[o>>2]|0)){nb=mb;ob=ob+8|0;tb=tb+16|0}else{Mb=mb;break}}}else Mb=0;if(c[M>>2]|0){if((db|0)!=((c[y>>2]|0)+-1|0)){tb=c[r>>2]|0;ob=tb>>1;nb=ob+16|0;eb=db+1|0;rb=tb+31|0;kb=ob+15|0;lb=c[(c[Y>>2]|0)+(eb<<2)>>2]|0;a[lb+(tb+32)>>0]=a[lb+rb>>0]|0;lb=c[(c[Z>>2]|0)+(eb<<2)>>2]|0;a[lb+nb>>0]=a[lb+kb>>0]|0;lb=c[(c[_>>2]|0)+(eb<<2)>>2]|0;a[lb+nb>>0]=a[lb+kb>>0]|0;lb=c[(c[Y>>2]|0)+(eb<<2)>>2]|0;a[lb+(tb+33)>>0]=a[lb+rb>>0]|0;lb=c[(c[Z>>2]|0)+(eb<<2)>>2]|0;nb=ob+17|0;a[lb+nb>>0]=a[lb+kb>>0]|0;lb=c[(c[_>>2]|0)+(eb<<2)>>2]|0;a[lb+nb>>0]=a[lb+kb>>0]|0;lb=c[(c[Y>>2]|0)+(eb<<2)>>2]|0;a[lb+(tb+34)>>0]=a[lb+rb>>0]|0;lb=c[(c[Z>>2]|0)+(eb<<2)>>2]|0;nb=ob+18|0;a[lb+nb>>0]=a[lb+kb>>0]|0;lb=c[(c[_>>2]|0)+(eb<<2)>>2]|0;a[lb+nb>>0]=a[lb+kb>>0]|0;lb=c[(c[Y>>2]|0)+(eb<<2)>>2]|0;a[lb+(tb+35)>>0]=a[lb+rb>>0]|0;rb=c[(c[Z>>2]|0)+(eb<<2)>>2]|0;lb=ob+19|0;a[rb+lb>>0]=a[rb+kb>>0]|0;rb=c[(c[_>>2]|0)+(eb<<2)>>2]|0;a[rb+lb>>0]=a[rb+kb>>0]|0}}else Jc(q,(c[da>>2]|0)+16|0,(c[ea>>2]|0)+8|0,(c[fa>>2]|0)+8|0);kb=(c[ga>>2]|0)+(db*28|0)|0;rb=(c[ha>>2]|0)+(db*48|0)|0;fg(kb)|0;c[ib>>2]=Mb+n;if(rb|0)tg(rb)|0;cg(kb)|0;kb=(c[z>>2]|0)+76|0;c[x>>2]=1;rb=c[ia>>2]|0;c[z>>2]=kb+((S(rb,c[A>>2]|0)|0)*76|0);kb=db+1+rb|0;rb=c[y>>2]|0;if((kb|0)<(rb|0))db=kb;else{Nb=rb;Ob=db;break}}}else{Nb=B;Ob=g}if((Ob|0)!=(Nb+-1|0)){l=h;return}Bg(e+11932|0)|0;l=h;return}function re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+11856|0;e=c[d>>2]|0;if(e|0){if((b|0)>0){f=0;do f=f+1|0;while((f|0)!=(b|0));g=c[d>>2]|0}else g=e;Ub(g);c[d>>2]=0}d=a+11888|0;g=c[d>>2]|0;if(g|0){if((b|0)>0){e=g;f=0;while(1){rg(e+(f*48|0)|0)|0;f=f+1|0;h=c[d>>2]|0;if((f|0)==(b|0)){i=h;break}else e=h}}else i=g;Ub(i);c[d>>2]=0}d=a+11852|0;Ub(c[d>>2]|0);c[d>>2]=0;d=a+11892|0;i=c[d>>2]|0;if(i|0){if((b|0)>0){g=i;e=0;while(1){Ub(c[g+(e<<2)>>2]|0);c[(c[d>>2]|0)+(e<<2)>>2]=0;e=e+1|0;f=c[d>>2]|0;if((e|0)==(b|0)){j=f;break}else g=f}}else j=i;Ub(j);c[d>>2]=0}d=a+11896|0;j=c[d>>2]|0;if(j|0){if((b|0)>0){i=j;g=0;while(1){Ub(c[i+(g<<2)>>2]|0);c[(c[d>>2]|0)+(g<<2)>>2]=0;g=g+1|0;e=c[d>>2]|0;if((g|0)==(b|0)){k=e;break}else i=e}}else k=j;Ub(k);c[d>>2]=0}d=a+11900|0;k=c[d>>2]|0;if(k|0){if((b|0)>0){j=k;i=0;while(1){Ub(c[j+(i<<2)>>2]|0);c[(c[d>>2]|0)+(i<<2)>>2]=0;i=i+1|0;g=c[d>>2]|0;if((i|0)==(b|0)){l=g;break}else j=g}}else l=k;Ub(l);c[d>>2]=0}d=a+11904|0;l=c[d>>2]|0;if(l|0){if((b|0)>0){k=l;j=0;while(1){Ub(c[k+(j<<2)>>2]|0);c[(c[d>>2]|0)+(j<<2)>>2]=0;j=j+1|0;i=c[d>>2]|0;if((j|0)==(b|0)){m=i;break}else k=i}}else m=l;Ub(m);c[d>>2]=0}d=a+11908|0;m=c[d>>2]|0;if(m|0){if((b|0)>0){l=m;k=0;while(1){Ub(c[l+(k<<2)>>2]|0);c[(c[d>>2]|0)+(k<<2)>>2]=0;k=k+1|0;j=c[d>>2]|0;if((k|0)==(b|0)){n=j;break}else l=j}}else n=m;Ub(n);c[d>>2]=0}d=a+11912|0;a=c[d>>2]|0;if(!a)return;if((b|0)>0){n=a;m=0;while(1){Ub(c[n+(m<<2)>>2]|0);c[(c[d>>2]|0)+(m<<2)>>2]=0;m=m+1|0;l=c[d>>2]|0;if((m|0)==(b|0)){o=l;break}else n=l}}else o=a;Ub(o);c[d>>2]=0;return}function se(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;e=l;l=l+128|0;f=e+112|0;g=e+104|0;h=e+96|0;i=e+88|0;j=e+80|0;k=e+72|0;m=e+64|0;n=e+56|0;o=e+48|0;p=e+40|0;q=e+32|0;r=e+24|0;s=e+16|0;t=e+8|0;u=e;v=a+3248|0;w=a+11860|0;fg(w)|0;x=c[a+11812>>2]|0;cg(w)|0;if(!x){l=e;return}re(a,d);d=b&15;x=((d|0)==0?0:16-d|0)+b|0;do if((x|0)>=640)if((x|0)<1281){c[a+11848>>2]=8;break}else{c[a+11848>>2]=(x|0)<2561?16:32;break}else c[a+11848>>2]=1;while(0);b=x>>1;d=a+5716|0;w=Sb((c[d>>2]|0)*28|0)|0;y=a+11856|0;c[y>>2]=w;if(!w){Qb(v,2,5994,u);u=c[y>>2]|0;z=u;A=u}else{z=w;A=w}w=c[d>>2]|0;if((z|0)!=0&(w|0)>0){Jg(A,0)|0;A=c[d>>2]|0;if((A|0)>1){z=1;do{Jg((c[y>>2]|0)+(z*28|0)|0,0)|0;z=z+1|0;u=c[d>>2]|0}while((z|0)<(u|0));B=u}else B=A}else B=w;w=Sb(B*48|0)|0;B=a+11888|0;c[B>>2]=w;if(!w){Qb(v,2,6025,t);t=c[B>>2]|0;C=t;D=t}else{C=w;D=w}w=c[d>>2]|0;if((C|0)!=0&(w|0)>0){sg(D,0)|0;D=c[d>>2]|0;if((D|0)>1){C=1;do{sg((c[B>>2]|0)+(C*48|0)|0,0)|0;C=C+1|0;t=c[d>>2]|0}while((C|0)<(t|0));E=t}else E=D}else E=w;w=Tb(4,E)|0;c[a+11852>>2]=w;if(!w)Qb(v,2,6055,s);s=Tb(4,c[d>>2]|0)|0;w=a+11892|0;c[w>>2]=s;if(!s)Qb(v,2,6099,r);r=c[d>>2]|0;if((r|0)>0){s=x+64|0;x=0;do{E=Rb(16,s)|0;c[(c[w>>2]|0)+(x<<2)>>2]=E;if(!(c[(c[w>>2]|0)+(x<<2)>>2]|0))Qb(v,2,6139,q);x=x+1|0;E=c[d>>2]|0}while((x|0)<(E|0));F=E}else F=r;r=Tb(4,F)|0;F=a+11896|0;c[F>>2]=r;if(!r)Qb(v,2,6180,p);p=c[d>>2]|0;if((p|0)>0){r=b+32|0;x=0;do{q=Rb(16,r)|0;c[(c[F>>2]|0)+(x<<2)>>2]=q;if(!(c[(c[F>>2]|0)+(x<<2)>>2]|0))Qb(v,2,6220,o);x=x+1|0;q=c[d>>2]|0}while((x|0)<(q|0));G=q}else G=p;p=Tb(4,G)|0;G=a+11900|0;c[G>>2]=p;if(!p)Qb(v,2,6261,n);n=c[d>>2]|0;if((n|0)>0){p=b+32|0;b=0;do{x=Rb(16,p)|0;c[(c[G>>2]|0)+(b<<2)>>2]=x;if(!(c[(c[G>>2]|0)+(b<<2)>>2]|0))Qb(v,2,6301,m);b=b+1|0;x=c[d>>2]|0}while((b|0)<(x|0));H=x}else H=n;n=Tb(4,H)|0;H=a+11904|0;c[H>>2]=n;if(!n)Qb(v,2,6342,k);k=c[d>>2]|0;if((k|0)>0){n=0;do{b=Tb(16,1)|0;c[(c[H>>2]|0)+(n<<2)>>2]=b;if(!(c[(c[H>>2]|0)+(n<<2)>>2]|0))Qb(v,2,6381,j);n=n+1|0;b=c[d>>2]|0}while((n|0)<(b|0));I=b}else I=k;k=Tb(4,I)|0;I=a+11908|0;c[I>>2]=k;if(!k)Qb(v,2,6421,i);i=c[d>>2]|0;if((i|0)>0){k=0;do{n=Tb(8,1)|0;c[(c[I>>2]|0)+(k<<2)>>2]=n;if(!(c[(c[I>>2]|0)+(k<<2)>>2]|0))Qb(v,2,6460,h);k=k+1|0;n=c[d>>2]|0}while((k|0)<(n|0));J=n}else J=i;i=Tb(4,J)|0;J=a+11912|0;c[J>>2]=i;if(!i)Qb(v,2,6500,g);if((c[d>>2]|0)<=0){l=e;return}g=0;do{i=Tb(8,1)|0;c[(c[J>>2]|0)+(g<<2)>>2]=i;if(!(c[(c[J>>2]|0)+(g<<2)>>2]|0))Qb(v,2,6539,f);g=g+1|0}while((g|0)<(c[d>>2]|0));l=e;return}function te(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+11860|0;d=a+11812|0;fg(b)|0;e=c[d>>2]|0;cg(b)|0;if(!e)return;fg(b)|0;c[d>>2]=0;cg(b)|0;b=a+11828|0;d=c[b>>2]|0;if((d|0)>0){e=a+11928|0;f=a+11924|0;g=0;do{Bg((c[e>>2]|0)+(g<<4)|0)|0;Qa(c[(c[f>>2]|0)+(g<<2)>>2]|0,0)|0;g=g+1|0;h=c[b>>2]|0}while((g|0)<(h|0));if((h|0)>0){g=0;do{g=g+1|0;f=c[b>>2]|0}while((g|0)<(f|0));i=f}else i=h}else i=d;d=a+11924|0;Ub(c[d>>2]|0);c[d>>2]=0;d=a+11928|0;Ub(c[d>>2]|0);c[d>>2]=0;d=a+11916|0;Ub(c[d>>2]|0);c[d>>2]=0;d=a+11920|0;Ub(c[d>>2]|0);c[d>>2]=0;re(a,c[a+5716>>2]|0);return}function ue(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;f=b+3248|0;g=c[b+9136>>2]|0;h=c[b+3232>>2]|0;if(!g)Hd(h);else{i=b+11892|0;Sg((c[c[i>>2]>>2]|0)+31|0,127,(c[h>>2]|0)+5|0)|0;j=b+11896|0;Sg((c[c[j>>2]>>2]|0)+15|0,127,(c[h>>2]>>1)+5|0)|0;k=b+11900|0;Sg((c[c[k>>2]>>2]|0)+15|0,127,(c[h>>2]>>1)+5|0)|0;h=b+5716|0;l=c[h>>2]|0;if((l|0)>1){m=1;do{a[(c[(c[i>>2]|0)+(m<<2)>>2]|0)+31>>0]=-127;a[(c[(c[j>>2]|0)+(m<<2)>>2]|0)+15>>0]=-127;a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+15>>0]=-127;m=m+1|0;n=c[h>>2]|0}while((m|0)<(n|0));o=n}else o=l;if((o|0)>0){o=b+11904|0;l=b+11908|0;m=b+11912|0;k=0;do{p=c[(c[o>>2]|0)+(k<<2)>>2]|0;q=p+16|0;do{a[p>>0]=129;p=p+1|0}while((p|0)<(q|0));j=c[(c[l>>2]|0)+(k<<2)>>2]|0;i=j;a[i>>0]=-2122219135;a[i+1>>0]=-2122219135>>8;a[i+2>>0]=-2122219135>>16;a[i+3>>0]=-2122219135>>24;i=j+4|0;a[i>>0]=-2122219135;a[i+1>>0]=-2122219135>>8;a[i+2>>0]=-2122219135>>16;a[i+3>>0]=-2122219135>>24;i=c[(c[m>>2]|0)+(k<<2)>>2]|0;j=i;a[j>>0]=-2122219135;a[j+1>>0]=-2122219135>>8;a[j+2>>0]=-2122219135>>16;a[j+3>>0]=-2122219135>>24;j=i+4|0;a[j>>0]=-2122219135;a[j+1>>0]=-2122219135>>8;a[j+2>>0]=-2122219135>>16;a[j+3>>0]=-2122219135>>24;k=k+1|0}while((k|0)<(c[h>>2]|0))}ad(f,b,g)}g=c[b+11916>>2]|0;f=b+11824|0;h=c[f>>2]|0;if((h|0)>0){k=e+3200|0;m=e+3204|0;l=e+3208|0;o=e+3212|0;j=b+5700|0;i=e+2848|0;n=e+2968|0;r=e+3148|0;s=e+3151|0;t=e+3155|0;u=e+3169|0;v=e+3177|0;w=e+3163|0;x=e+3164|0;y=b+11456|0;z=e+2048|0;A=e+2016|0;B=e+2080|0;C=e+2112|0;D=b+5740|0;E=0;do{c[g+(E*3232|0)+3200>>2]=c[k>>2];c[g+(E*3232|0)+3204>>2]=c[m>>2];c[g+(E*3232|0)+3208>>2]=c[l>>2];c[g+(E*3232|0)+3212>>2]=c[o>>2];c[g+(E*3232|0)+3096>>2]=c[j>>2];p=g+(E*3232|0)+2848|0;F=i;q=p+120|0;do{c[p>>2]=c[F>>2];p=p+4|0;F=F+4|0}while((p|0)<(q|0));p=g+(E*3232|0)+2968|0;F=n;q=p+120|0;do{c[p>>2]=c[F>>2];p=p+4|0;F=F+4|0}while((p|0)<(q|0));a[g+(E*3232|0)+3148>>0]=a[r>>0]|0;a[g+(E*3232|0)+3151>>0]=a[s>>0]|0;F=t;G=F;H=d[G>>0]|d[G+1>>0]<<8|d[G+2>>0]<<16|d[G+3>>0]<<24;G=F+4|0;F=d[G>>0]|d[G+1>>0]<<8|d[G+2>>0]<<16|d[G+3>>0]<<24;G=g+(E*3232|0)+3155|0;I=G;a[I>>0]=H;a[I+1>>0]=H>>8;a[I+2>>0]=H>>16;a[I+3>>0]=H>>24;H=G+4|0;a[H>>0]=F;a[H+1>>0]=F>>8;a[H+2>>0]=F>>16;a[H+3>>0]=F>>24;F=g+(E*3232|0)+3169|0;H=d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24;a[F>>0]=H;a[F+1>>0]=H>>8;a[F+2>>0]=H>>16;a[F+3>>0]=H>>24;H=g+(E*3232|0)+3177|0;F=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;a[H>>0]=F;a[H+1>>0]=F>>8;a[H+2>>0]=F>>16;a[H+3>>0]=F>>24;a[g+(E*3232|0)+3163>>0]=a[w>>0]|0;a[g+(E*3232|0)+3164>>0]=a[x>>0]|0;c[g+(E*3232|0)+3216>>2]=y;F=g+(E*3232|0)+2048|0;c[F>>2]=c[z>>2];c[F+4>>2]=c[z+4>>2];c[F+8>>2]=c[z+8>>2];c[F+12>>2]=c[z+12>>2];c[F+16>>2]=c[z+16>>2];c[F+20>>2]=c[z+20>>2];c[F+24>>2]=c[z+24>>2];c[F+28>>2]=c[z+28>>2];F=g+(E*3232|0)+2016|0;c[F>>2]=c[A>>2];c[F+4>>2]=c[A+4>>2];c[F+8>>2]=c[A+8>>2];c[F+12>>2]=c[A+12>>2];c[F+16>>2]=c[A+16>>2];c[F+20>>2]=c[A+20>>2];c[F+24>>2]=c[A+24>>2];c[F+28>>2]=c[A+28>>2];F=g+(E*3232|0)+2080|0;c[F>>2]=c[B>>2];c[F+4>>2]=c[B+4>>2];c[F+8>>2]=c[B+8>>2];c[F+12>>2]=c[B+12>>2];c[F+16>>2]=c[B+16>>2];c[F+20>>2]=c[B+20>>2];c[F+24>>2]=c[B+24>>2];c[F+28>>2]=c[B+28>>2];F=g+(E*3232|0)+2112|0;c[F>>2]=c[C>>2];c[F+4>>2]=c[C+4>>2];c[F+8>>2]=c[C+8>>2];c[F+12>>2]=c[C+12>>2];c[F+16>>2]=c[C+16>>2];c[F+20>>2]=c[C+20>>2];c[F+24>>2]=c[C+24>>2];c[F+28>>2]=c[C+28>>2];F=g+(E*3232|0)+2844|0;c[F>>2]=-1;c[F>>2]=(c[D>>2]|0)==0?-1:-8;E=E+1|0}while((E|0)!=(h|0))}h=b+5716|0;if((c[h>>2]|0)>0){E=c[b+11852>>2]|0;D=0;do{c[E+(D<<2)>>2]=-1;D=D+1|0}while((D|0)<(c[h>>2]|0))}if(!(c[f>>2]|0)){qe(b,e,0);J=b+11932|0;Hg(J)|0;return}h=b+11928|0;D=0;do{Bg((c[h>>2]|0)+(D<<4)|0)|0;D=D+1|0}while(D>>>0<(c[f>>2]|0)>>>0);qe(b,e,0);J=b+11932|0;Hg(J)|0;return}function ve(){var a=0,b=0,d=0;a=l;l=l+16|0;b=a;d=Va(9768,0,5,0)|0;if(d|0){c[b>>2]=d;uf(6579,b)|0}Jg(9772,0)|0;sg(9800,0)|0;l=a;return}function we(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0.0,j=0.0;a=l;l=l+32|0;b=a+8|0;d=a;e=a+12|0;c[2462]=Vd()|0;a=Ua()|0;f=(a|0)<4?a:4;c[d>>2]=f;uf(6614,d)|0;c[e>>2]=f;c[e+4>>2]=0;c[e+8>>2]=0;Mb(9852,c[2462]|0,e,0,10)|0;while(1){fg(9772)|0;while(1){if((c[2470]|0)==0?(g=c[2472]|0,(c[2471]|0)!=(g|0)):0)break;zg(9800,9772)|0}c[2470]=1;e=c[9892+(g<<3)>>2]|0;f=c[9892+(g<<3)+4>>2]|0;c[2472]=(g+1|0)%16|0;cg(9772)|0;i=+Xa();Nb(9852,e,f,0,1)|0;Nb(9852,0,0,0,1)|0;j=+Xa()-i;fg(9772)|0;h[1204]=j+ +h[1204];cg(9772)|0;og(1024,6,b)}return 0}function xe(){var a=0,b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;a=l;l=l+16|0;b=a;d=a+4|0;c[d>>2]=0;e=Ob(9852,d)|0;a:do if(e){f=e;g=0;b:while(1){if(g|0){i=3;break}j=c[f>>2]|0;switch(j|0){case 258:{k=c[f+12>>2]|0;m=c[f+16>>2]|0;n=k;o=m;p=m>>>1;q=k>>>1;break}case 261:{k=c[f+12>>2]|0;m=c[f+16>>2]|0;n=k;o=m;p=m;q=k>>>1;break}case 262:{k=c[f+12>>2]|0;m=c[f+16>>2]|0;n=k;o=m;p=m;q=k;break}default:{i=8;break b}}Ma(c[f+48>>2]|0,c[f+64>>2]|0,c[f+52>>2]|0,c[f+68>>2]|0,c[f+56>>2]|0,c[f+72>>2]|0,n|0,o|0,q|0,p|0);f=Ob(9852,d)|0;if(!f){r=1;break a}else g=1}if((i|0)==3)while(1){i=0;vf(6646)|0;if(!(Ob(9852,d)|0)){r=g;break}else i=3}else if((i|0)==8){c[b>>2]=j;uf(6696,b)|0;r=0;break}}else r=0;while(0);fg(9772)|0;s=+h[1204];h[1204]=0.0;c[2470]=0;tg(9800)|0;cg(9772)|0;Aa(r|0,+s);l=a;return}function ye(){return 1}function ze(){Sa(0)}function Ae(a,b){a=a|0;b=b|0;vf(6741)|0;return 0}function Be(a,b){a=a|0;b=b|0;var d=0;fg(9772)|0;d=c[2471]|0;c[9892+(d<<3)>>2]=a;c[9892+(d<<3)+4>>2]=b;c[2471]=(d+1|0)%16|0;tg(9800)|0;cg(9772)|0;return 1}function Ce(){return 10020}function De(){c[(Pa()|0)+188>>2]=10060;return}function Ee(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=Ke(c[a+60>>2]|0)|0;a=He(Ka(6,d|0)|0)|0;l=b;return a|0}function Fe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=l;l=l+48|0;f=e+16|0;g=e;h=e+32|0;i=a+28|0;j=c[i>>2]|0;c[h>>2]=j;k=a+20|0;m=(c[k>>2]|0)-j|0;c[h+4>>2]=m;c[h+8>>2]=b;c[h+12>>2]=d;b=m+d|0;m=a+60|0;c[g>>2]=c[m>>2];c[g+4>>2]=h;c[g+8>>2]=2;j=He(ib(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=j;n=h;o=2;p=b;while(1){if((g|0)<0)break;p=p-g|0;q=c[n+4>>2]|0;r=g>>>0>q>>>0;s=r?n+8|0:n;t=(r<<31>>31)+o|0;u=g-(r?q:0)|0;c[s>>2]=(c[s>>2]|0)+u;q=s+4|0;c[q>>2]=(c[q>>2]|0)-u;c[f>>2]=c[m>>2];c[f+4>>2]=s;c[f+8>>2]=t;g=He(ib(146,f|0)|0)|0;if((p|0)==(g|0)){v=3;break a}else{n=s;o=t}}c[a+16>>2]=0;c[i>>2]=0;c[k>>2]=0;c[a>>2]=c[a>>2]|32;if((o|0)==2)w=0;else w=d-(c[n+4>>2]|0)|0}else v=3;while(0);if((v|0)==3){v=c[a+44>>2]|0;c[a+16>>2]=v+(c[a+48>>2]|0);c[i>>2]=v;c[k>>2]=v;w=d}l=e;return w|0}function Ge(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+32|0;f=e;g=e+20|0;c[f>>2]=c[a+60>>2];c[f+4>>2]=0;c[f+8>>2]=b;c[f+12>>2]=g;c[f+16>>2]=d;if((He(fb(140,f|0)|0)|0)<0){c[g>>2]=-1;h=-1}else h=c[g>>2]|0;l=e;return h|0}function He(a){a=a|0;var b=0;if(a>>>0>4294963200){c[(Ie()|0)>>2]=0-a;b=-1}else b=a;return b|0}function Ie(){return (Je()|0)+64|0}function Je(){return Pa()|0}function Ke(a){a=a|0;return a|0}function Le(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+32|0;g=f;c[b+36>>2]=6;if((c[b>>2]&64|0)==0?(c[g>>2]=c[b+60>>2],c[g+4>>2]=21523,c[g+8>>2]=f+16,Ta(54,g|0)|0):0)a[b+75>>0]=-1;g=Fe(b,d,e)|0;l=f;return g|0}function Me(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=b;b=c;do{d=d+1|0;b=b+1|0;c=a[d>>0]|0;e=a[b>>0]|0}while(!(c<<24>>24==0?1:c<<24>>24!=e<<24>>24));f=e;g=c}return (g&255)-(f&255)|0}function Ne(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;g=l;l=l+128|0;h=g+124|0;i=g;j=i;k=1812;m=j+124|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(m|0));if((d+-1|0)>>>0>2147483646)if(!d){n=1;o=h;p=4}else{c[(Ie()|0)>>2]=75;q=-1}else{n=d;o=b;p=4}if((p|0)==4){p=-2-o|0;b=n>>>0>p>>>0?p:n;c[i+48>>2]=b;n=i+20|0;c[n>>2]=o;c[i+44>>2]=o;p=o+b|0;o=i+16|0;c[o>>2]=p;c[i+28>>2]=p;p=Oe(i,e,f)|0;if(!b)q=p;else{b=c[n>>2]|0;a[b+(((b|0)==(c[o>>2]|0))<<31>>31)>>0]=0;q=p}}l=g;return q|0}function Oe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=l;l=l+224|0;g=f+120|0;h=f+80|0;i=f;j=f+136|0;k=h;m=k+40|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0));c[g>>2]=c[e>>2];if((Pe(0,d,g,i,h)|0)<0)n=-1;else{if((kb(c,b+76>>2)|0)>-1)o=Qe(b)|0;else o=0;e=c[b>>2]|0;k=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){m=b+44|0;p=c[m>>2]|0;c[m>>2]=j;q=b+28|0;c[q>>2]=j;r=b+20|0;c[r>>2]=j;c[e>>2]=80;s=b+16|0;c[s>>2]=j+80;j=Pe(b,d,g,i,h)|0;if(!p)t=j;else{ub[c[b+36>>2]&7](b,0,0)|0;u=(c[r>>2]|0)==0?-1:j;c[m>>2]=p;c[e>>2]=0;c[s>>2]=0;c[q>>2]=0;c[r>>2]=0;t=u}}else t=Pe(b,d,g,i,h)|0;h=c[b>>2]|0;c[b>>2]=h|k;if(o|0)Re(b);n=(h&32|0)==0?t:-1}l=f;return n|0}function Pe(d,e,f,g,i){d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;j=l;l=l+64|0;k=j+16|0;m=j;n=j+24|0;o=j+8|0;p=j+20|0;c[k>>2]=e;q=(d|0)!=0;r=n+40|0;s=r;t=n+39|0;n=o+4|0;u=e;e=0;v=0;w=0;a:while(1){do if((e|0)>-1)if((v|0)>(2147483647-e|0)){c[(Ie()|0)>>2]=75;x=-1;break}else{x=v+e|0;break}else x=e;while(0);y=a[u>>0]|0;if(!(y<<24>>24)){z=87;break}else{A=y;B=u}b:while(1){switch(A<<24>>24){case 37:{C=B;E=B;z=9;break b;break}case 0:{F=B;G=B;break b;break}default:{}}y=B+1|0;c[k>>2]=y;A=a[y>>0]|0;B=y}c:do if((z|0)==9)while(1){z=0;if((a[C+1>>0]|0)!=37){F=C;G=E;break c}y=E+1|0;H=C+2|0;c[k>>2]=H;if((a[H>>0]|0)==37){C=H;E=y;z=9}else{F=H;G=y;break}}while(0);y=G-u|0;if(q)Se(d,u,y);if(y|0){u=F;e=x;v=y;continue}y=F+1|0;H=(a[y>>0]|0)+-48|0;if(H>>>0<10){I=(a[F+2>>0]|0)==36;J=I?H:-1;K=I?1:w;L=I?F+3|0:y}else{J=-1;K=w;L=y}c[k>>2]=L;y=a[L>>0]|0;I=(y<<24>>24)+-32|0;d:do if(I>>>0<32){H=y;M=0;N=L;O=I;while(1){P=1<<O;if(!(P&75913)){Q=H;R=N;S=M;break d}T=P|M;P=N+1|0;c[k>>2]=P;U=a[P>>0]|0;O=(U<<24>>24)+-32|0;if(O>>>0>=32){Q=U;R=P;S=T;break}else{H=U;M=T;N=P}}}else{Q=y;R=L;S=0}while(0);if(Q<<24>>24==42){y=R+1|0;I=(a[y>>0]|0)+-48|0;if(I>>>0<10?(a[R+2>>0]|0)==36:0){c[i+(I<<2)>>2]=10;V=1;W=R+3|0;X=c[g+((a[y>>0]|0)+-48<<3)>>2]|0}else{if(K|0){Y=-1;break}if(q){I=(c[f>>2]|0)+(4-1)&~(4-1);N=c[I>>2]|0;c[f>>2]=I+4;V=0;W=y;X=N}else{V=0;W=y;X=0}}c[k>>2]=W;y=(X|0)<0;Z=W;_=y?S|8192:S;$=V;aa=y?0-X|0:X}else{y=Te(k)|0;if((y|0)<0){Y=-1;break}Z=c[k>>2]|0;_=S;$=K;aa=y}do if((a[Z>>0]|0)==46){if((a[Z+1>>0]|0)!=42){c[k>>2]=Z+1;y=Te(k)|0;ba=c[k>>2]|0;ca=y;break}y=Z+2|0;N=(a[y>>0]|0)+-48|0;if(N>>>0<10?(a[Z+3>>0]|0)==36:0){c[i+(N<<2)>>2]=10;N=c[g+((a[y>>0]|0)+-48<<3)>>2]|0;I=Z+4|0;c[k>>2]=I;ba=I;ca=N;break}if($|0){Y=-1;break a}if(q){N=(c[f>>2]|0)+(4-1)&~(4-1);I=c[N>>2]|0;c[f>>2]=N+4;da=I}else da=0;c[k>>2]=y;ba=y;ca=da}else{ba=Z;ca=-1}while(0);y=ba;I=0;while(1){if(((a[y>>0]|0)+-65|0)>>>0>57){Y=-1;break a}ea=y+1|0;c[k>>2]=ea;fa=a[(a[y>>0]|0)+-65+(6779+(I*58|0))>>0]|0;ga=fa&255;if((ga+-1|0)>>>0<8){y=ea;I=ga}else break}if(!(fa<<24>>24)){Y=-1;break}N=(J|0)>-1;do if(fa<<24>>24==19)if(N){Y=-1;break a}else z=49;else{if(N){c[i+(J<<2)>>2]=ga;M=g+(J<<3)|0;H=c[M+4>>2]|0;O=m;c[O>>2]=c[M>>2];c[O+4>>2]=H;z=49;break}if(!q){Y=0;break a}Ue(m,ga,f)}while(0);if((z|0)==49?(z=0,!q):0){u=ea;e=x;v=0;w=$;continue}N=a[y>>0]|0;H=(I|0)!=0&(N&15|0)==3?N&-33:N;N=_&-65537;O=(_&8192|0)==0?_:N;e:do switch(H|0){case 110:{switch((I&255)<<24>>24){case 0:{c[c[m>>2]>>2]=x;u=ea;e=x;v=0;w=$;continue a;break}case 1:{c[c[m>>2]>>2]=x;u=ea;e=x;v=0;w=$;continue a;break}case 2:{M=c[m>>2]|0;c[M>>2]=x;c[M+4>>2]=((x|0)<0)<<31>>31;u=ea;e=x;v=0;w=$;continue a;break}case 3:{b[c[m>>2]>>1]=x;u=ea;e=x;v=0;w=$;continue a;break}case 4:{a[c[m>>2]>>0]=x;u=ea;e=x;v=0;w=$;continue a;break}case 6:{c[c[m>>2]>>2]=x;u=ea;e=x;v=0;w=$;continue a;break}case 7:{M=c[m>>2]|0;c[M>>2]=x;c[M+4>>2]=((x|0)<0)<<31>>31;u=ea;e=x;v=0;w=$;continue a;break}default:{u=ea;e=x;v=0;w=$;continue a}}break}case 112:{ha=O|8;ia=ca>>>0>8?ca:8;ja=120;z=61;break}case 88:case 120:{ha=O;ia=ca;ja=H;z=61;break}case 111:{M=m;P=c[M>>2]|0;T=c[M+4>>2]|0;M=We(P,T,r)|0;U=s-M|0;ka=P;la=T;ma=M;na=O;oa=(O&8|0)==0|(ca|0)>(U|0)?ca:U+1|0;pa=0;qa=7243;z=67;break}case 105:case 100:{U=m;M=c[U>>2]|0;T=c[U+4>>2]|0;if((T|0)<0){U=Rg(0,0,M|0,T|0)|0;P=D;ra=m;c[ra>>2]=U;c[ra+4>>2]=P;sa=U;ta=P;ua=1;va=7243;z=66;break e}else{sa=M;ta=T;ua=(O&2049|0)!=0&1;va=(O&2048|0)==0?((O&1|0)==0?7243:7245):7244;z=66;break e}break}case 117:{T=m;sa=c[T>>2]|0;ta=c[T+4>>2]|0;ua=0;va=7243;z=66;break}case 99:{a[t>>0]=c[m>>2];wa=t;xa=N;ya=1;za=0;Aa=7243;Ba=r;break}case 109:{Ca=Ye(c[(Ie()|0)>>2]|0)|0;z=71;break}case 115:{T=c[m>>2]|0;Ca=T|0?T:7253;z=71;break}case 67:{c[o>>2]=c[m>>2];c[n>>2]=0;c[m>>2]=o;Da=o;Ea=-1;z=75;break}case 83:{T=c[m>>2]|0;if(!ca){_e(d,32,aa,0,O);Fa=0;z=84}else{Da=T;Ea=ca;z=75}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{u=ea;e=x;v=af(d,+h[m>>3],aa,ca,O,H)|0;w=$;continue a;break}default:{wa=u;xa=O;ya=ca;za=0;Aa=7243;Ba=r}}while(0);f:do if((z|0)==61){z=0;H=m;I=c[H>>2]|0;y=c[H+4>>2]|0;H=Ve(I,y,r,ja&32)|0;T=(ha&8|0)==0|(I|0)==0&(y|0)==0;ka=I;la=y;ma=H;na=ha;oa=ia;pa=T?0:2;qa=T?7243:7243+(ja>>4)|0;z=67}else if((z|0)==66){z=0;ka=sa;la=ta;ma=Xe(sa,ta,r)|0;na=O;oa=ca;pa=ua;qa=va;z=67}else if((z|0)==71){z=0;T=Ze(Ca,0,ca)|0;H=(T|0)==0;wa=Ca;xa=N;ya=H?ca:T-Ca|0;za=0;Aa=7243;Ba=H?Ca+ca|0:T}else if((z|0)==75){z=0;T=0;H=0;y=Da;while(1){I=c[y>>2]|0;if(!I){Ga=T;Ha=H;break}M=$e(p,I)|0;if((M|0)<0|M>>>0>(Ea-T|0)>>>0){Ga=T;Ha=M;break}I=M+T|0;if(Ea>>>0>I>>>0){T=I;H=M;y=y+4|0}else{Ga=I;Ha=M;break}}if((Ha|0)<0){Y=-1;break a}_e(d,32,aa,Ga,O);if(!Ga){Fa=0;z=84}else{y=0;H=Da;while(1){T=c[H>>2]|0;if(!T){Fa=Ga;z=84;break f}M=$e(p,T)|0;y=M+y|0;if((y|0)>(Ga|0)){Fa=Ga;z=84;break f}Se(d,p,M);if(y>>>0>=Ga>>>0){Fa=Ga;z=84;break}else H=H+4|0}}}while(0);if((z|0)==67){z=0;N=(ka|0)!=0|(la|0)!=0;H=(oa|0)!=0|N;y=((N^1)&1)+(s-ma)|0;wa=H?ma:r;xa=(oa|0)>-1?na&-65537:na;ya=H?((oa|0)>(y|0)?oa:y):oa;za=pa;Aa=qa;Ba=r}else if((z|0)==84){z=0;_e(d,32,aa,Fa,O^8192);u=ea;e=x;v=(aa|0)>(Fa|0)?aa:Fa;w=$;continue}y=Ba-wa|0;H=(ya|0)<(y|0)?y:ya;N=H+za|0;M=(aa|0)<(N|0)?N:aa;_e(d,32,M,N,xa);Se(d,Aa,za);_e(d,48,M,N,xa^65536);_e(d,48,H,y,0);Se(d,wa,y);_e(d,32,M,N,xa^8192);u=ea;e=x;v=M;w=$}g:do if((z|0)==87)if(!d)if(!w)Y=0;else{$=1;while(1){v=c[i+($<<2)>>2]|0;if(!v){Ia=$;break}Ue(g+($<<3)|0,v,f);$=$+1|0;if(($|0)>=10){Y=1;break g}}while(1){if(c[i+(Ia<<2)>>2]|0){Y=-1;break g}Ia=Ia+1|0;if((Ia|0)>=10){Y=1;break}}}else Y=x;while(0);l=j;return Y|0}function Qe(a){a=a|0;return 0}function Re(a){a=a|0;return}function Se(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))nf(b,d,a)|0;return}function Te(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b>>2]|0;e=(a[d>>0]|0)+-48|0;if(e>>>0<10){f=d;d=0;g=e;while(1){e=g+(d*10|0)|0;f=f+1|0;c[b>>2]=f;g=(a[f>>0]|0)+-48|0;if(g>>>0>=10){h=e;break}else d=e}}else h=0;return h|0}function Ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f;break a;break}case 10:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a;break}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=f;c[e+4>>2]=0;break a;break}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);f=e;g=c[f>>2]|0;i=c[f+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=g;c[e+4>>2]=i;break a;break}case 13:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=(e&65535)<<16>>16;e=a;c[e>>2]=i;c[e+4>>2]=((i|0)<0)<<31>>31;break a;break}case 14:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=a;c[i>>2]=e&65535;c[i+4>>2]=0;break a;break}case 15:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=(e&255)<<24>>24;e=a;c[e>>2]=i;c[e+4>>2]=((i|0)<0)<<31>>31;break a;break}case 16:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=a;c[i>>2]=e&255;c[i+4>>2]=0;break a;break}case 17:{i=(c[d>>2]|0)+(8-1)&~(8-1);j=+h[i>>3];c[d>>2]=i+8;h[a>>3]=j;break a;break}case 18:{i=(c[d>>2]|0)+(8-1)&~(8-1);j=+h[i>>3];c[d>>2]=i+8;h[a>>3]=j;break a;break}default:break a}while(0);while(0);return}function Ve(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0;if((b|0)==0&(c|0)==0)g=e;else{h=b;b=c;c=e;while(1){e=c+-1|0;a[e>>0]=d[7295+(h&15)>>0]|0|f;h=Vg(h|0,b|0,4)|0;b=D;if((h|0)==0&(b|0)==0){g=e;break}else c=e}}return g|0}function We(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;if((b|0)==0&(c|0)==0)e=d;else{f=b;b=c;c=d;while(1){d=c+-1|0;a[d>>0]=f&7|48;f=Vg(f|0,b|0,3)|0;b=D;if((f|0)==0&(b|0)==0){e=d;break}else c=d}}return e|0}function Xe(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){e=b;f=c;c=d;while(1){g=bh(e|0,f|0,10,0)|0;c=c+-1|0;a[c>>0]=g&255|48;g=e;e=$g(e|0,f|0,10,0)|0;if(!(f>>>0>9|(f|0)==9&g>>>0>4294967295))break;else f=D}h=c;i=e}else{h=d;i=b}if(!i)j=h;else{b=h;h=i;while(1){i=b+-1|0;a[i>>0]=(h>>>0)%10|0|48;if(h>>>0<10){j=i;break}else{b=i;h=(h>>>0)/10|0}}}return j|0}function Ye(a){a=a|0;return hf(a,c[(gf()|0)+188>>2]|0)|0}function Ze(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;f=d&255;g=(e|0)!=0;a:do if(g&(b&3|0)!=0){h=d&255;i=e;j=b;while(1){if((a[j>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=j+1|0;o=i+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=o;j=n}else{q=o;r=n;s=p;m=5;break}}}else{q=e;r=b;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else{t=0;u=r}b:do if((m|0)==6){r=d&255;if((a[l>>0]|0)==r<<24>>24){t=k;u=l}else{q=S(f,16843009)|0;c:do if(k>>>0>3){s=k;g=l;while(1){b=c[g>>2]^q;if((b&-2139062144^-2139062144)&b+-16843009|0)break;b=g+4|0;e=s+-4|0;if(e>>>0>3){s=e;g=b}else{v=e;w=b;m=11;break c}}x=s;y=g}else{v=k;w=l;m=11}while(0);if((m|0)==11)if(!v){t=0;u=w;break}else{x=v;y=w}while(1){if((a[y>>0]|0)==r<<24>>24){t=x;u=y;break b}q=y+1|0;x=x+-1|0;if(!x){t=0;u=q;break}else y=q}}}while(0);return (t|0?u:0)|0}function _e(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=l;l=l+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Sg(g|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{Se(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;Se(a,g,h)}l=f;return}function $e(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=ef(a,b,0)|0;return c|0}function af(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,E=0.0,F=0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0.0,fa=0.0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0;j=l;l=l+560|0;k=j+8|0;m=j;n=j+524|0;o=n;p=j+512|0;c[m>>2]=0;q=p+12|0;bf(e)|0;if((D|0)<0){r=1;s=7260;t=-e}else{r=(h&2049|0)!=0&1;s=(h&2048|0)==0?((h&1|0)==0?7261:7266):7263;t=e}bf(t)|0;u=D&2146435072;do if(u>>>0<2146435072|(u|0)==2146435072&0<0){e=+cf(t,m)*2.0;v=e!=0.0;if(v)c[m>>2]=(c[m>>2]|0)+-1;w=i|32;if((w|0)==97){x=i&32;y=(x|0)==0?s:s+9|0;z=r|2;A=12-g|0;do if(!(g>>>0>11|(A|0)==0)){B=A;C=8.0;do{B=B+-1|0;C=C*16.0}while((B|0)!=0);if((a[y>>0]|0)==45){E=-(C+(-e-C));break}else{E=e+C-C;break}}else E=e;while(0);A=c[m>>2]|0;B=(A|0)<0?0-A|0:A;F=Xe(B,((B|0)<0)<<31>>31,q)|0;if((F|0)==(q|0)){B=p+11|0;a[B>>0]=48;G=B}else G=F;a[G+-1>>0]=(A>>31&2)+43;A=G+-2|0;a[A>>0]=i+15;F=(g|0)<1;B=(h&8|0)==0;H=n;I=E;while(1){J=~~I;K=H+1|0;a[H>>0]=d[7295+J>>0]|x;I=(I-+(J|0))*16.0;if((K-o|0)==1?!(B&(F&I==0.0)):0){a[K>>0]=46;L=H+2|0}else L=K;if(!(I!=0.0))break;else H=L}H=L-o|0;F=q-A|0;B=(g|0)!=0&(H+-2|0)<(g|0)?g+2|0:H;x=F+z+B|0;_e(b,32,f,x,h);Se(b,y,z);_e(b,48,f,x,h^65536);Se(b,n,H);_e(b,48,B-H|0,0,0);Se(b,A,F);_e(b,32,f,x,h^8192);M=x;break}x=(g|0)<0?6:g;if(v){F=(c[m>>2]|0)+-28|0;c[m>>2]=F;N=F;O=e*268435456.0}else{N=c[m>>2]|0;O=e}F=(N|0)<0?k:k+288|0;I=O;H=F;do{B=~~I>>>0;c[H>>2]=B;H=H+4|0;I=(I-+(B>>>0))*1.0e9}while(I!=0.0);if((N|0)>0){v=N;A=F;z=H;while(1){y=(v|0)<29?v:29;B=z+-4|0;if(B>>>0>=A>>>0){K=0;J=B;do{B=ah(c[J>>2]|0,0,y|0)|0;P=Tg(B|0,D|0,K|0,0)|0;B=D;Q=bh(P|0,B|0,1e9,0)|0;c[J>>2]=Q;K=$g(P|0,B|0,1e9,0)|0;J=J+-4|0}while(J>>>0>=A>>>0);if(K){J=A+-4|0;c[J>>2]=K;R=J}else R=A}else R=A;J=z;while(1){if(J>>>0<=R>>>0)break;B=J+-4|0;if(!(c[B>>2]|0))J=B;else break}K=(c[m>>2]|0)-y|0;c[m>>2]=K;if((K|0)>0){v=K;A=R;z=J}else{T=K;U=R;V=J;break}}}else{T=N;U=F;V=H}if((T|0)<0){z=((x+25|0)/9|0)+1|0;A=(w|0)==102;v=T;K=U;B=V;while(1){P=0-v|0;Q=(P|0)<9?P:9;if(K>>>0<B>>>0){P=(1<<Q)+-1|0;W=1e9>>>Q;X=0;Y=K;do{Z=c[Y>>2]|0;c[Y>>2]=(Z>>>Q)+X;X=S(Z&P,W)|0;Y=Y+4|0}while(Y>>>0<B>>>0);Y=(c[K>>2]|0)==0?K+4|0:K;if(!X){_=Y;$=B}else{c[B>>2]=X;_=Y;$=B+4|0}}else{_=(c[K>>2]|0)==0?K+4|0:K;$=B}Y=A?F:_;W=($-Y>>2|0)>(z|0)?Y+(z<<2)|0:$;v=(c[m>>2]|0)+Q|0;c[m>>2]=v;if((v|0)>=0){aa=_;ba=W;break}else{K=_;B=W}}}else{aa=U;ba=V}B=F;if(aa>>>0<ba>>>0){K=(B-aa>>2)*9|0;v=c[aa>>2]|0;if(v>>>0<10)ca=K;else{z=K;K=10;while(1){K=K*10|0;A=z+1|0;if(v>>>0<K>>>0){ca=A;break}else z=A}}}else ca=0;z=(w|0)==103;K=(x|0)!=0;v=x-((w|0)!=102?ca:0)+((K&z)<<31>>31)|0;if((v|0)<(((ba-B>>2)*9|0)+-9|0)){A=v+9216|0;v=F+4+(((A|0)/9|0)+-1024<<2)|0;H=((A|0)%9|0)+1|0;if((H|0)<9){A=10;W=H;while(1){H=A*10|0;W=W+1|0;if((W|0)==9){da=H;break}else A=H}}else da=10;A=c[v>>2]|0;W=(A>>>0)%(da>>>0)|0;w=(v+4|0)==(ba|0);if(!(w&(W|0)==0)){C=(((A>>>0)/(da>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;H=(da|0)/2|0;I=W>>>0<H>>>0?.5:w&(W|0)==(H|0)?1.0:1.5;if(!r){ea=C;fa=I}else{H=(a[s>>0]|0)==45;ea=H?-C:C;fa=H?-I:I}H=A-W|0;c[v>>2]=H;if(ea+fa!=ea){W=H+da|0;c[v>>2]=W;if(W>>>0>999999999){W=aa;H=v;while(1){A=H+-4|0;c[H>>2]=0;if(A>>>0<W>>>0){w=W+-4|0;c[w>>2]=0;ga=w}else ga=W;w=(c[A>>2]|0)+1|0;c[A>>2]=w;if(w>>>0>999999999){W=ga;H=A}else{ha=ga;ia=A;break}}}else{ha=aa;ia=v}H=(B-ha>>2)*9|0;W=c[ha>>2]|0;if(W>>>0<10){ja=ha;ka=ia;la=H}else{A=H;H=10;while(1){H=H*10|0;w=A+1|0;if(W>>>0<H>>>0){ja=ha;ka=ia;la=w;break}else A=w}}}else{ja=aa;ka=v;la=ca}}else{ja=aa;ka=v;la=ca}A=ka+4|0;ma=ja;na=la;oa=ba>>>0>A>>>0?A:ba}else{ma=aa;na=ca;oa=ba}A=oa;while(1){if(A>>>0<=ma>>>0){pa=0;break}H=A+-4|0;if(!(c[H>>2]|0))A=H;else{pa=1;break}}v=0-na|0;do if(z){H=((K^1)&1)+x|0;if((H|0)>(na|0)&(na|0)>-5){qa=H+-1-na|0;ra=i+-1|0}else{qa=H+-1|0;ra=i+-2|0}H=h&8;if(!H){if(pa?(W=c[A+-4>>2]|0,(W|0)!=0):0)if(!((W>>>0)%10|0)){w=10;Y=0;while(1){w=w*10|0;P=Y+1|0;if((W>>>0)%(w>>>0)|0|0){sa=P;break}else Y=P}}else sa=0;else sa=9;Y=((A-B>>2)*9|0)+-9|0;if((ra|32|0)==102){w=Y-sa|0;W=(w|0)>0?w:0;ta=0;ua=(qa|0)<(W|0)?qa:W;va=ra;break}else{W=Y+na-sa|0;Y=(W|0)>0?W:0;ta=0;ua=(qa|0)<(Y|0)?qa:Y;va=ra;break}}else{ta=H;ua=qa;va=ra}}else{ta=h&8;ua=x;va=i}while(0);x=ua|ta;B=(x|0)!=0&1;K=(va|32|0)==102;if(K){wa=0;xa=(na|0)>0?na:0}else{z=(na|0)<0?v:na;Y=Xe(z,((z|0)<0)<<31>>31,q)|0;z=q;if((z-Y|0)<2){W=Y;while(1){w=W+-1|0;a[w>>0]=48;if((z-w|0)<2)W=w;else{ya=w;break}}}else ya=Y;a[ya+-1>>0]=(na>>31&2)+43;W=ya+-2|0;a[W>>0]=va;wa=W;xa=z-W|0}W=r+1+ua+B+xa|0;_e(b,32,f,W,h);Se(b,s,r);_e(b,48,f,W,h^65536);if(K){v=ma>>>0>F>>>0?F:ma;w=n+9|0;Q=w;X=n+8|0;P=v;do{J=Xe(c[P>>2]|0,0,w)|0;if((P|0)==(v|0))if((J|0)==(w|0)){a[X>>0]=48;za=X}else za=J;else if(J>>>0>n>>>0){Sg(n|0,48,J-o|0)|0;y=J;while(1){Z=y+-1|0;if(Z>>>0>n>>>0)y=Z;else{za=Z;break}}}else za=J;Se(b,za,Q-za|0);P=P+4|0}while(P>>>0<=F>>>0);if(x|0)Se(b,7311,1);if(P>>>0<A>>>0&(ua|0)>0){F=P;Q=ua;while(1){X=Xe(c[F>>2]|0,0,w)|0;if(X>>>0>n>>>0){Sg(n|0,48,X-o|0)|0;v=X;while(1){K=v+-1|0;if(K>>>0>n>>>0)v=K;else{Aa=K;break}}}else Aa=X;Se(b,Aa,(Q|0)<9?Q:9);F=F+4|0;v=Q+-9|0;if(!(F>>>0<A>>>0&(Q|0)>9)){Ba=v;break}else Q=v}}else Ba=ua;_e(b,48,Ba+9|0,9,0)}else{Q=pa?A:ma+4|0;if((ua|0)>-1){F=n+9|0;w=(ta|0)==0;P=F;x=0-o|0;v=n+8|0;J=ma;K=ua;while(1){B=Xe(c[J>>2]|0,0,F)|0;if((B|0)==(F|0)){a[v>>0]=48;Ca=v}else Ca=B;do if((J|0)==(ma|0)){B=Ca+1|0;Se(b,Ca,1);if(w&(K|0)<1){Da=B;break}Se(b,7311,1);Da=B}else{if(Ca>>>0<=n>>>0){Da=Ca;break}Sg(n|0,48,Ca+x|0)|0;B=Ca;while(1){z=B+-1|0;if(z>>>0>n>>>0)B=z;else{Da=z;break}}}while(0);X=P-Da|0;Se(b,Da,(K|0)>(X|0)?X:K);B=K-X|0;J=J+4|0;if(!(J>>>0<Q>>>0&(B|0)>-1)){Ea=B;break}else K=B}}else Ea=ua;_e(b,48,Ea+18|0,18,0);Se(b,wa,q-wa|0)}_e(b,32,f,W,h^8192);M=W}else{K=(i&32|0)!=0;Q=r+3|0;_e(b,32,f,Q,h&-65537);Se(b,s,r);Se(b,t!=t|0.0!=0.0?(K?7287:7291):K?7279:7283,3);_e(b,32,f,Q,h^8192);M=Q}while(0);l=j;return ((M|0)<(f|0)?f:M)|0}function bf(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;D=c[j+4>>2]|0;return b|0}function cf(a,b){a=+a;b=b|0;return +(+df(a,b))}function df(a,b){a=+a;b=b|0;var d=0,e=0,f=0,g=0.0,i=0,k=0.0,l=0.0;h[j>>3]=a;d=c[j>>2]|0;e=c[j+4>>2]|0;f=Vg(d|0,e|0,52)|0;switch(f&2047){case 0:{if(a!=0.0){g=+df(a*18446744073709551616.0,b);i=(c[b>>2]|0)+-64|0;k=g}else{i=0;k=a}c[b>>2]=i;l=k;break}case 2047:{l=a;break}default:{c[b>>2]=(f&2047)+-1022;c[j>>2]=d;c[j+4>>2]=e&-2146435073|1071644672;l=+h[j>>3]}}return +l}function ef(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;do if(b){if(d>>>0<128){a[b>>0]=d;f=1;break}if(!(kb(c,c[(ff()|0)+188>>2]>>2)|0))if((d&-128|0)==57216){a[b>>0]=d;f=1;break}else{c[(Ie()|0)>>2]=84;f=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;f=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;f=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;f=4;break}else{c[(Ie()|0)>>2]=84;f=-1;break}}else f=1;while(0);return f|0}function ff(){return Pa()|0}function gf(){return Pa()|0}function hf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=0;while(1){if((d[7313+f>>0]|0)==(b|0)){g=2;break}h=f+1|0;if((h|0)==87){i=87;j=7401;g=5;break}else f=h}if((g|0)==2)if(!f)k=7401;else{i=f;j=7401;g=5}if((g|0)==5)while(1){g=0;f=j;do{b=f;f=f+1|0}while((a[b>>0]|0)!=0);i=i+-1|0;if(!i){k=f;break}else{j=f;g=5}}return jf(k,kb(c,e+20>>2)|0)|0}function jf(a,b){a=a|0;b=b|0;return kf(a,b)|0}function kf(a,b){a=a|0;b=b|0;var d=0;if(!b)d=0;else d=lf(c[b>>2]|0,c[b+4>>2]|0,a)|0;return (d|0?d:a)|0}function lf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=(c[b>>2]|0)+1794895138|0;g=mf(c[b+8>>2]|0,f)|0;h=mf(c[b+12>>2]|0,f)|0;i=mf(c[b+16>>2]|0,f)|0;a:do if((g>>>0<d>>>2>>>0?(j=d-(g<<2)|0,h>>>0<j>>>0&i>>>0<j>>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=mf(c[b+(q<<2)>>2]|0,f)|0;s=mf(c[b+(q+1<<2)>>2]|0,f)|0;if(!(s>>>0<d>>>0&r>>>0<(d-s|0)>>>0)){t=0;break a}if(a[b+(s+r)>>0]|0){t=0;break a}r=Me(e,b+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}else{l=s?l:o;m=s?n:m-n|0}}m=p+k|0;l=mf(c[b+(m<<2)>>2]|0,f)|0;j=mf(c[b+(m+1<<2)>>2]|0,f)|0;if(j>>>0<d>>>0&l>>>0<(d-j|0)>>>0)t=(a[b+(j+l)>>0]|0)==0?b+j|0:0;else t=0}else t=0;while(0);return t|0}function mf(a,b){a=a|0;b=b|0;var c=0;c=ch(a|0)|0;return ((b|0)==0?a:c)|0}function nf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(of(e)|0)){h=c[f>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=e+20|0;f=c[g>>2]|0;k=f;if((h-f|0)>>>0<d>>>0){j=ub[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){l=k;m=0;n=d;o=b;break b}p=f+-1|0;if((a[b+p>>0]|0)==10)break;else f=p}p=ub[c[e+36>>2]&7](e,b,f)|0;if(p>>>0<f>>>0){j=p;break a}l=c[g>>2]|0;m=f;n=d-f|0;o=b+f|0}else{l=k;m=0;n=d;o=b}while(0);Yg(l|0,o|0,n|0)|0;c[g>>2]=(c[g>>2]|0)+n;j=m+n|0}while(0);return j|0}function of(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=c[b>>2]|0;if(!(e&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);f=0}else{c[b>>2]=e|32;f=-1}return f|0}function pf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+20|0;f=c[e>>2]|0;g=(c[a+16>>2]|0)-f|0;a=g>>>0>d>>>0?d:g;Yg(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function qf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=b;a:do if(!(d&3)){e=b;f=4}else{g=d;h=b;while(1){if(!(a[h>>0]|0)){i=g;break a}j=h+1|0;g=j;if(!(g&3)){e=j;f=4;break}else h=j}}while(0);if((f|0)==4){f=e;while(1){k=c[f>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))f=f+4|0;else break}if(!((k&255)<<24>>24))l=f;else{k=f;while(1){f=k+1|0;if(!(a[f>>0]|0)){l=f;break}else k=f}}i=l}return i-d|0}function rf(a,b){a=a|0;b=b|0;var c=0;c=qf(a)|0;return ((sf(a,1,c,b)|0)!=(c|0))<<31>>31|0}function sf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=S(d,b)|0;g=(b|0)==0?0:d;if((kb(c,e+76>>2)|0)>-1){d=(Qe(e)|0)==0;h=nf(a,f,e)|0;if(d)i=h;else{Re(e);i=h}}else i=nf(a,f,e)|0;if((i|0)==(f|0))j=g;else j=(i>>>0)/(b>>>0)|0;return j|0}function tf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;f=l;l=l+16|0;g=f;h=e&255;a[g>>0]=h;i=b+16|0;j=c[i>>2]|0;if(!j)if(!(of(b)|0)){k=c[i>>2]|0;m=4}else n=-1;else{k=j;m=4}do if((m|0)==4){j=b+20|0;i=c[j>>2]|0;if(i>>>0<k>>>0?(o=e&255,(o|0)!=(a[b+75>>0]|0)):0){c[j>>2]=i+1;a[i>>0]=h;n=o;break}if((ub[c[b+36>>2]&7](b,g,1)|0)==1)n=d[g>>0]|0;else n=-1}while(0);l=f;return n|0}function uf(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;b=Oe(c[421]|0,a,e)|0;l=d;return b|0}function vf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[421]|0;if((kb(c,d+76>>2)|0)>-1)e=Qe(d)|0;else e=0;do if((rf(b,d)|0)<0)f=1;else{if((a[d+75>>0]|0)!=10?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=10;f=0;break}f=(tf(d,10)|0)<0}while(0);if(e|0)Re(d);return f<<31>>31|0}function wf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=11156+((a>>>3&255)<<2)|0;do do f=kb(c,e>>2)|0;while((f|0)!=(nb(c,e>>2,f,1)|0));while((f|0)!=0);f=a;g=c[f>>2]|0;h=c[f+4>>2]|0;f=Tg(g|0,h|0,b|0,d|0)|0;d=a;c[d>>2]=f;c[d+4>>2]=D;lb(c,e>>2,0)|0;D=h;return g|0}function xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=11156+((a>>>3&255)<<2)|0;do do f=kb(c,e>>2)|0;while((f|0)!=(nb(c,e>>2,f,1)|0));while((f|0)!=0);f=a;g=c[f>>2]|0;h=c[f+4>>2]|0;f=a;c[f>>2]=g&b;c[f+4>>2]=h&d;lb(c,e>>2,0)|0;D=h;return g|0}function yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=11156+((a>>>3&255)<<2)|0;do do f=kb(c,e>>2)|0;while((f|0)!=(nb(c,e>>2,f,1)|0));while((f|0)!=0);f=a;g=c[f>>2]|0;h=c[f+4>>2]|0;f=a;c[f>>2]=g|b;c[f+4>>2]=h|d;lb(c,e>>2,0)|0;D=h;return g|0}function zf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=11156+((a>>>3&255)<<2)|0;do do f=kb(c,e>>2)|0;while((f|0)!=(nb(c,e>>2,f,1)|0));while((f|0)!=0);f=a;g=c[f>>2]|0;h=c[f+4>>2]|0;f=Rg(g|0,h|0,b|0,d|0)|0;d=a;c[d>>2]=f;c[d+4>>2]=D;lb(c,e>>2,0)|0;D=h;return g|0}function Af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=11156+((a>>>3&255)<<2)|0;do do f=kb(c,e>>2)|0;while((f|0)!=(nb(c,e>>2,f,1)|0));while((f|0)!=0);f=a;g=c[f>>2]|0;h=c[f+4>>2]|0;f=a;c[f>>2]=g^b;c[f+4>>2]=h^d;lb(c,e>>2,0)|0;D=h;return g|0}function Bf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!b)ta(9520,9327,260,9525);if(oa()|0){bg(b);return}fg(10600)|0;if(!(a[13764]&1))a[13764]=1;d=kb(c,2657)|0;e=kb(c,2658)|0;f=(e+1|0)%128|0;if((f|0)==(d|0)){g=d;while(1){cg(10600)|0;za(10628,g|0,t)|0;fg(10600)|0;h=kb(c,2657)|0;i=kb(c,2658)|0;j=(i+1|0)%128|0;if((j|0)==(h|0))g=h;else{k=h;l=i;m=j;break}}}else{k=d;l=e;m=f}c[10636+(l<<2)>>2]=b;if((k|0)==(l|0))Fa(0);lb(c,2658,m)|0;cg(10600)|0;return}function Cf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=11156+((a>>>3&255)<<2)|0;do do f=kb(c,e>>2)|0;while((f|0)!=(nb(c,e>>2,f,1)|0));while((f|0)!=0);f=a;g=Tg(c[f>>2]|0,c[f+4>>2]|0,b|0,d|0)|0;d=D;b=a;c[b>>2]=g;c[b+4>>2]=d;lb(c,e>>2,0)|0;D=d;return g|0}function Df(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=11156+((a>>>3&255)<<2)|0;do do f=kb(c,e>>2)|0;while((f|0)!=(nb(c,e>>2,f,1)|0));while((f|0)!=0);f=a;g=c[f>>2]&b;b=c[f+4>>2]&d;d=a;c[d>>2]=g;c[d+4>>2]=b;lb(c,e>>2,0)|0;D=b;return g|0}function Ef(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=11156+((a>>>3&255)<<2)|0;do do h=kb(c,g>>2)|0;while((h|0)!=(nb(c,g>>2,h,1)|0));while((h|0)!=0);h=a;i=c[h>>2]|0;j=c[h+4>>2]|0;if(!((i|0)==(b|0)&(j|0)==(d|0))){k=lb(c,g>>2,0)|0;D=j;return i|0}d=a;c[d>>2]=e;c[d+4>>2]=f;k=lb(c,g>>2,0)|0;D=j;return i|0}function Ff(a,b){a=a|0;b=b|0;var d=0;do d=kb(c,a>>2)|0;while((d|0)!=(nb(c,a>>2,d,b)|0));return d|0}function Gf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=11156+((a>>>3&255)<<2)|0;do do f=kb(c,e>>2)|0;while((f|0)!=(nb(c,e>>2,f,1)|0));while((f|0)!=0);f=a;g=c[f>>2]|0;h=c[f+4>>2]|0;f=a;c[f>>2]=b;c[f+4>>2]=d;lb(c,e>>2,0)|0;D=h;return g|0}function Hf(a){a=a|0;var b=0;b=kb(c,a>>2)|0;return +(c[j>>2]=b,+g[j>>2])}function If(a){a=a|0;var b=0,d=0,e=0.0;b=11156+((a>>>3&255)<<2)|0;do do d=kb(c,b>>2)|0;while((d|0)!=(nb(c,b>>2,d,1)|0));while((d|0)!=0);e=+h[a>>3];lb(c,b>>2,0)|0;return +e}function Jf(a){a=a|0;var b=0,d=0,e=0;b=11156+((a>>>3&255)<<2)|0;do do d=kb(c,b>>2)|0;while((d|0)!=(nb(c,b>>2,d,1)|0));while((d|0)!=0);d=a;a=c[d>>2]|0;e=c[d+4>>2]|0;lb(c,b>>2,0)|0;D=e;return a|0}function Kf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=11156+((a>>>3&255)<<2)|0;do do f=kb(c,e>>2)|0;while((f|0)!=(nb(c,e>>2,f,1)|0));while((f|0)!=0);f=a;g=c[f>>2]|b;b=c[f+4>>2]|d;d=a;c[d>>2]=g;c[d+4>>2]=b;lb(c,e>>2,0)|0;D=b;return g|0}function Lf(a,b){a=a|0;b=+b;return +(+((lb(c,a>>2,(g[j>>2]=b,c[j>>2]|0))|0)>>>0))}function Mf(a,b){a=a|0;b=+b;var d=0,e=0;d=11156+((a>>>3&255)<<2)|0;do do e=kb(c,d>>2)|0;while((e|0)!=(nb(c,d>>2,e,1)|0));while((e|0)!=0);h[a>>3]=b;lb(c,d>>2,0)|0;return +b}function Nf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=11156+((a>>>3&255)<<2)|0;do do f=kb(c,e>>2)|0;while((f|0)!=(nb(c,e>>2,f,1)|0));while((f|0)!=0);f=a;c[f>>2]=b;c[f+4>>2]=d;lb(c,e>>2,0)|0;D=d;return b|0}function Of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=11156+((a>>>3&255)<<2)|0;do do f=kb(c,e>>2)|0;while((f|0)!=(nb(c,e>>2,f,1)|0));while((f|0)!=0);f=a;g=Rg(c[f>>2]|0,c[f+4>>2]|0,b|0,d|0)|0;d=D;b=a;c[b>>2]=g;c[b+4>>2]=d;lb(c,e>>2,0)|0;D=d;return g|0}function Pf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=11156+((a>>>3&255)<<2)|0;do do f=kb(c,e>>2)|0;while((f|0)!=(nb(c,e>>2,f,1)|0));while((f|0)!=0);f=a;g=c[f>>2]^b;b=c[f+4>>2]^d;d=a;c[d>>2]=g;c[d+4>>2]=b;lb(c,e>>2,0)|0;D=b;return g|0}function Qf(){var a=0,b=0;if(!(oa()|0))ta(9205,9327,424,9416);a=(oa()|0)==0;if(a|(c[2649]|0)!=0)return;c[2649]=1;fg(10600)|0;a=kb(c,2657)|0;b=(a|0)==(kb(c,2658)|0);cg(10600)|0;if(!b){b=a;do{bg(c[10636+(b<<2)>>2]|0);fg(10600)|0;b=(b+1|0)%128|0;lb(c,2657,b)|0;a=(b|0)==(kb(c,2658)|0);cg(10600)|0}while(!a)}Ga(10628,2147483647)|0;c[2649]=0;return}function Rf(a){a=a|0;Bf(a);ag(a,t)|0;return}function Sf(a){a=a|0;var b=0,d=0,e=0,f=0;b=l;l=l+96|0;d=b;e=d;f=e+96|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[d>>2]=a;a=d+80|0;c[a>>2]=0;Bf(d);ag(d,t)|0;l=b;return c[a>>2]|0}function Tf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+96|0;e=d;f=e;g=f+96|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[e>>2]=a;c[e+16>>2]=b;b=e+80|0;c[b>>2]=0;Bf(e);ag(e,t)|0;l=d;return c[b>>2]|0}function Uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+96|0;f=e;g=f;h=g+96|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[f>>2]=a;c[f+16>>2]=b;c[f+24>>2]=d;d=f+80|0;c[d>>2]=0;Bf(f);ag(f,t)|0;l=e;return c[d>>2]|0}function Vf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+96|0;g=f;h=g;i=h+96|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[g>>2]=a;c[g+16>>2]=b;c[g+24>>2]=d;c[g+32>>2]=e;e=g+80|0;c[e>>2]=0;Bf(g);ag(g,t)|0;l=f;return c[e>>2]|0}function Wf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=l;l=l+96|0;h=g;i=h;j=i+96|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));c[h>>2]=a;c[h+16>>2]=b;c[h+24>>2]=d;c[h+32>>2]=e;c[h+40>>2]=f;f=h+80|0;c[f>>2]=0;Bf(h);ag(h,t)|0;l=g;return c[f>>2]|0}function Xf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;h=l;l=l+96|0;i=h;j=i;k=j+96|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));c[i>>2]=a;c[i+16>>2]=b;c[i+24>>2]=d;c[i+32>>2]=e;c[i+40>>2]=f;c[i+48>>2]=g;g=i+80|0;c[g>>2]=0;Bf(i);ag(i,t)|0;l=h;return c[g>>2]|0}function Yf(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0;i=l;l=l+96|0;j=i;k=j;m=k+96|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0));c[j>>2]=a;c[j+16>>2]=b;c[j+24>>2]=d;c[j+32>>2]=e;c[j+40>>2]=f;c[j+48>>2]=g;c[j+56>>2]=h;h=j+80|0;c[h>>2]=0;Bf(j);ag(j,t)|0;l=i;return c[h>>2]|0}function Zf(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0;j=l;l=l+96|0;k=j;m=k;n=m+96|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));c[k>>2]=a;c[k+16>>2]=b;c[k+24>>2]=d;c[k+32>>2]=e;c[k+40>>2]=f;c[k+48>>2]=g;c[k+56>>2]=h;c[k+64>>2]=i;i=k+80|0;c[i>>2]=0;Bf(k);ag(k,t)|0;l=j;return c[i>>2]|0}function _f(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;f=l;l=l+240|0;g=f+96|0;h=f+112|0;i=f;c[g>>2]=e;j=Ne(h,128,d,g)|0;k=j+1|0;if((j|0)>127){j=Kg(k)|0;c[g>>2]=e;Ne(j,k,d,g)|0;m=j}else m=h;j=i;g=j+96|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(g|0));c[i>>2]=a;c[i+16>>2]=b;c[i+24>>2]=m;b=i+80|0;c[b>>2]=0;Bf(i);ag(i,t)|0;if((m|0)==(h|0)){n=c[b>>2]|0;l=f;return n|0}Lg(m);n=c[b>>2]|0;l=f;return n|0}function $f(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=Pa()|0;if(!(c[a+60>>2]|0))return;b=a+116|0;a=0;do{d=0;e=0;while(1){f=(c[b>>2]|0)+(d<<2)|0;g=c[f>>2]|0;if((g|0)!=0?(h=10084+(d<<2)|0,(kb(c,h>>2)|0)!=0):0){c[f>>2]=0;wb[(kb(c,h>>2)|0)&15](g);i=1}else i=e;d=d+1|0;if((d|0)==128)break;else e=i}a=a+1|0}while((a|0)<4&(i|0)!=0);return}function ag(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0,h=0.0,i=0.0,j=0;d=a+8|0;a=kb(c,d>>2)|0;if(a|0){e=a;f=(e|0)==0;g=f?-8:0;return g|0}h=+Xa();i=h+b;Qg(5);if(h<i){b=h;do{za(d|0,0,+(i-b))|0;a=kb(c,d>>2)|0;b=+Xa()}while((a|0)==0&b<i);j=a}else j=0;Qg(1);e=j;f=(e|0)==0;g=f?-8:0;return g|0}function bg(a){a=a|0;var b=0;do switch(c[a>>2]|0){case 12:{c[a+80>>2]=Ia(c[a+16>>2]|0,c[a+24>>2]|0)|0;break}case 13:{c[a+80>>2]=ua(c[a+16>>2]|0,c[a+24>>2]|0)|0;break}case 37:{c[a+80>>2]=Ya(c[a+16>>2]|0)|0;break}case 46:{c[a+80>>2]=gb(c[a+16>>2]|0,c[a+24>>2]|0)|0;break}case 68:{c[a+80>>2]=Oa(c[a+16>>2]|0,c[a+24>>2]|0,c[a+32>>2]|0)|0;break}case 72:{c[a+80>>2]=xa(c[a+16>>2]|0)|0;break}case 110:{c[a+80>>2]=eb(c[a+16>>2]|0)|0;break}case 111:{c[a+80>>2]=Ra(c[a+16>>2]|0)|0;break}case 112:{c[a+80>>2]=Ea()|0;break}case 113:{c[a+80>>2]=hb(c[a+16>>2]|0,c[a+24>>2]|0,c[a+32>>2]|0)|0;break}case 114:{c[a+80>>2]=qa(c[a+16>>2]|0)|0;break}case 115:{c[a+80>>2]=ma(c[a+16>>2]|0)|0;break}case 119:{pa();break}case 137:{c[a+80>>2]=Va(c[a+16>>2]|0,c[a+24>>2]|0,c[a+32>>2]|0,c[a+40>>2]|0)|0;break}case 138:{c[a+80>>2]=sa(c[a+16>>2]|0,c[a+24>>2]|0)|0;break}case 1024:{Ab[c[a+4>>2]&7]();break}case 1025:{wb[c[a+4>>2]&15](c[a+16>>2]|0);break}case 1026:{xb[c[a+4>>2]&1](c[a+16>>2]|0,c[a+24>>2]|0);break}case 1027:{zb[c[a+4>>2]&1](c[a+16>>2]|0,c[a+24>>2]|0,c[a+32>>2]|0);break}case 2048:{c[a+80>>2]=vb[c[a+4>>2]&1]()|0;break}case 2049:{c[a+80>>2]=yb[c[a+4>>2]&7](c[a+16>>2]|0)|0;break}case 2050:{c[a+80>>2]=Cb[c[a+4>>2]&15](c[a+16>>2]|0,c[a+24>>2]|0)|0;break}case 2051:{c[a+80>>2]=ub[c[a+4>>2]&7](c[a+16>>2]|0,c[a+24>>2]|0,c[a+32>>2]|0)|0;break}default:ta(9460,9327,211,9511)}while(0);if(!(c[a+88>>2]|0)){b=a+8|0;c[b>>2]=1;Ga(b|0,2147483647)|0;return}else{Lg(a);return}}function cg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=kb(c,a+8>>2)|0;d=c[a>>2]|0;e=d&128^128;f=(d&15|0)==0;if(!f){g=Pa()|0;h=a+4|0;i=(kb(c,h>>2)|0)&2147483647;if((i|0)!=(c[g+52>>2]|0)){j=1;return j|0}if((d&3|0)==1?(i=a+20|0,k=c[i>>2]|0,k|0):0){c[i>>2]=k+-1;j=0;return j|0}k=a+16|0;if(!e){lb(c,g+176>>2,k)|0;dg()}i=c[a+12>>2]|0;l=c[k>>2]|0;lb(c,i>>2,l)|0;if((l|0)==(g+168|0)){m=h;n=g}else{lb(c,l+-4>>2,i)|0;m=h;n=g}}else{m=a+4|0;n=0}a=d&8|0?2147483647:0;do o=kb(c,m>>2)|0;while((nb(c,m>>2,o,a)|0)!=(o|0));if(!(f|(e|0)!=0)){lb(c,n+176>>2,0)|0;eg()}if(!((b|0)!=0|(o|0)<0)){j=0;return j|0}Ga(m|0,1)|0;j=0;return j|0}function dg(){ob(c,2787,1)|0;return}function eg(){if((ob(c,2787,-1)|0)!=1)return;if(!(kb(c,2788)|0))return;Ga(11148,2147483647)|0;return}function fg(a){a=a|0;var b=0;if((c[a>>2]&15|0)==0?(nb(c,a+4>>2,0,16)|0)==0:0){b=0;return b|0}b=gg(a,0)|0;return b|0}function gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[a>>2]|0;do if(!(d&15))if(!(nb(c,a+4>>2,0,16)|0)){e=0;return e|0}else{f=c[a>>2]|0;break}else f=d;while(0);d=f&128^128;f=lg(a)|0;if((f|0)!=16){e=f;return e|0}f=a+4|0;g=a+8|0;h=100;while(1){if(!h)break;if(!(kb(c,f>>2)|0))break;if(!(kb(c,g>>2)|0))h=h+-1|0;else break}h=lg(a)|0;if((h|0)!=16){e=h;return e|0}a:while(1){h=kb(c,f>>2)|0;if(h|0?(i=c[a>>2]|0,(h&1073741824|0)==0|(i&4|0)==0):0){if((i&3|0)==2?(h&2147483647|0)==(c[(Pa()|0)+52>>2]|0):0){e=35;j=17;break}ob(c,g>>2,1)|0;i=h|-2147483648;nb(c,f>>2,h,i)|0;h=hg(f,i,0,b,d)|0;pb(c,g>>2,1)|0;switch(h|0){case 0:case 4:break;default:{e=h;j=17;break a}}}h=lg(a)|0;if((h|0)!=16){e=h;j=17;break}}if((j|0)==17)return e|0;return 0}function hg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=l;l=l+16|0;h=g;Ja(1,h|0)|0;Xg(1,4);i=ig(a,b,d,e,f)|0;Xg(4,1);Ja(c[h>>2]|0,0)|0;l=g;return i|0}function ig(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0;f=l;l=l+16|0;g=f;h=(e|0)!=0;if(h){i=e+4|0;if((c[i>>2]|0)>>>0>999999999){j=22;l=f;return j|0}if(bb(d|0,g|0)|0){j=22;l=f;return j|0}d=(c[e>>2]|0)-(c[g>>2]|0)|0;c[g>>2]=d;k=g+4|0;m=(c[i>>2]|0)-(c[k>>2]|0)|0;c[k>>2]=m;if((m|0)<0){i=d+-1|0;c[g>>2]=i;c[k>>2]=m+1e9;n=i}else n=d;if((n|0)<0){j=110;l=f;return j|0}}n=(oa()|0)!=0;o=n?1.0:100.0;if(n){a:while(1){if(jg(Pa()|0)|0){p=125;break}Qf();if(h){q=+kg(e);r=q>100.0?100.0:q;if(!(q<=0.0))s=r>1.0?1.0:r;else{p=110;break}}else s=o;n=0-(za(a|0,b|0,+s)|0)|0;switch(n|0){case 110:break;case 4:case 125:{p=n;break a;break}default:{j=0;t=21;break a}}}if((t|0)==21){l=f;return j|0}j=p;l=f;return j|0}if(!h){b:while(1){if(jg(Pa()|0)|0){u=125;break}h=0-(za(a|0,b|0,+o)|0)|0;switch(h|0){case 110:break;case 4:case 125:{u=h;break b;break}default:{j=0;t=21;break b}}}if((t|0)==21){l=f;return j|0}j=u;l=f;return j|0}c:while(1){if(jg(Pa()|0)|0){v=125;break}o=+kg(e);if(o<=0.0){v=110;break}u=0-(za(a|0,b|0,+(o>100.0?100.0:o))|0)|0;switch(u|0){case 110:break;case 4:case 125:{v=u;break c;break}default:{j=0;t=21;break c}}}if((t|0)==21){l=f;return j|0}j=v;l=f;return j|0}function jg(a){a=a|0;return (c[a>>2]|0)==2|0}function kg(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;db(d|0,0)|0;l=b;return +(+(c[a>>2]|0)*1.0e3+ +(c[a+4>>2]|0)*1.0e-06-(+(c[d>>2]|0)*1.0e3+ +(c[d+4>>2]|0)*.001))}function lg(a){a=a|0;var b=0;if(!(c[a>>2]&15)){b=(nb(c,a+4>>2,0,16)|0)&16;return b|0}else{b=mg(a)|0;return b|0}return 0}function mg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=c[a>>2]|0;d=Pa()|0;e=c[d+52>>2]|0;f=a+4|0;g=kb(c,f>>2)|0;h=g&2147483647;if((b&3|0)==1&(h|0)==(e|0)){i=a+20|0;j=c[i>>2]|0;if(j>>>0>2147483646){k=11;return k|0}c[i>>2]=j+1;k=0;return k|0}if((h|0)==2147483647){k=131;return k|0}if(!(c[a>>2]&128))l=e;else{j=d+172|0;if(!(c[j>>2]|0))c[j>>2]=-12;j=(kb(c,a+8>>2)|0)==0;lb(c,d+176>>2,a+16|0)|0;l=j?e:e|-2147483648}e=(h|0)!=0;if(!(e?(b&4|0)==0|(g&1073741824|0)==0:0))m=11;if((m|0)==11?(nb(c,f>>2,g,l)|0)==(g|0):0){g=d+168|0;l=kb(c,g>>2)|0;f=a+16|0;c[f>>2]=l;c[a+12>>2]=g;if((l|0)!=(g|0))lb(c,l+-4>>2,f)|0;lb(c,g>>2,f)|0;lb(c,d+176>>2,0)|0;if(!e){k=0;return k|0}c[a+20>>2]=0;c[a>>2]=c[a>>2]|8;k=130;return k|0}lb(c,d+176>>2,0)|0;k=16;return k|0}function ng(){var a=0;a=Pa()|0;if(kb(c,a+72>>2)|0)return;if((c[a>>2]|0)!=2)return;Fa(1);return}function og(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=a&1023;g=Kg(96)|0;c[g+8>>2]=0;c[g>>2]=a;c[g+4>>2]=b;if(!d){h=g+88|0;c[h>>2]=1;Bf(g);l=e;return}else i=0;do{b=(c[f>>2]|0)+(4-1)&~(4-1);a=c[b>>2]|0;c[f>>2]=b+4;c[g+16+(i<<3)>>2]=a;i=i+1|0}while((i|0)!=(d|0));h=g+88|0;c[h>>2]=1;Bf(g);l=e;return}function pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=l;l=l+16|0;e=d;lb(c,e>>2,0)|0;f=a+32|0;if(nb(c,f>>2,0,1)|0){nb(c,f>>2,1,2)|0;do qg(f,0,2,1);while((nb(c,f>>2,0,2)|0)!=0)}g=a+20|0;h=c[g>>2]|0;i=(h|0)!=0;if((b|0)!=0&i){j=0;k=b;b=h;while(1){if(!(nb(c,b+8>>2,0,1)|0)){m=(j|0)==0?b:j;n=k+-1|0}else{lb(c,e>>2,(kb(c,e>>2)|0)+1|0)|0;c[b+16>>2]=e;m=j;n=k}o=c[b>>2]|0;p=(o|0)!=0;if((n|0)!=0&p){j=m;k=n;b=o}else{q=m;r=o;s=p;break}}}else{q=0;r=h;s=i}if(s){s=r+4|0;i=c[s>>2]|0;if(i|0)c[i>>2]=0;c[s>>2]=0}else c[a+4>>2]=0;c[g>>2]=r;do t=kb(c,f>>2)|0;while((nb(c,f>>2,t,0)|0)!=(t|0));if((t|0)==2)Ga(f|0,1)|0;f=kb(c,e>>2)|0;if(f|0){t=f;do{qg(e,0,t,1);t=kb(c,e>>2)|0}while((t|0)!=0)}if(!q){l=d;return 0}t=q+12|0;do u=kb(c,t>>2)|0;while((nb(c,t>>2,u,0)|0)!=(u|0));if((u|0)!=2){l=d;return 0}Ga(t|0,1)|0;l=d;return 0}function qg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0.0;e=(b|0)!=0;a:do if(e){f=100;while(1){if(!f){g=7;break a}if(kb(c,b>>2)|0){g=8;break a}if((kb(c,a>>2)|0)==(d|0))f=f+-1|0;else break}return}else{f=100;while(1){if(!f){g=7;break a}if((kb(c,a>>2)|0)==(d|0))f=f+-1|0;else break}return}while(0);if((g|0)==7?e:0)g=8;if((g|0)==8)ob(c,b>>2,1)|0;g=oa()|0;b:do if((kb(c,a>>2)|0)==(d|0)){f=(g|0)!=0;h=f?1.0:100.0;c:do if(f)while(1){if((kb(c,(Pa()|0)+76>>2)|0)==1)do{if(jg(Pa()|0)|0)break c;Qf()}while((za(a|0,d|0,+h)|0)==-110);else za(a|0,d|0,t)|0;if((kb(c,a>>2)|0)!=(d|0))break b}else while(1){if((kb(c,(Pa()|0)+76>>2)|0)==1)do if(jg(Pa()|0)|0)break c;while((za(a|0,d|0,+h)|0)==-110);else za(a|0,d|0,t)|0;if((kb(c,a>>2)|0)!=(d|0))break b}while(0);if(!e)return;pb(c,b>>2,1)|0;return}while(0);if(!e)return;pb(c,b>>2,1)|0;return}function rg(a){a=a|0;var b=0,d=0,e=0;if(!(c[a>>2]|0))return 0;b=a+12|0;if(!(kb(c,b>>2)|0))return 0;rb(c,b>>2,-2147483648)|0;d=a+8|0;ob(c,d>>2,1)|0;Ga(d|0,2147483647)|0;d=kb(c,b>>2)|0;if(!(d&2147483647))return 0;else e=d;do{qg(b,0,e,0);e=kb(c,b>>2)|0}while((e&2147483647|0)!=0);return 0}function sg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+48|0;e=d;f=e;g=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=a;h=e;g=f+48|0;do{c[f>>2]=c[h>>2];f=f+4|0;h=h+4|0}while((f|0)<(g|0));if(!b){l=d;return 0}h=c[b>>2]|0;c[a+16>>2]=h&2147483647;if((h|0)>=0){l=d;return 0}c[a>>2]=-1;l=d;return 0}function tg(a){a=a|0;var b=0,d=0;if(!(c[a>>2]|0)){b=pg(a,1)|0;return b|0}if(!(kb(c,a+12>>2)|0)){b=0;return b|0}d=a+8|0;ob(c,d>>2,1)|0;Ga(d|0,1)|0;b=0;return b|0}function ug(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=l;l=l+32|0;f=e+4|0;g=e;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;h=c[a+16>>2]|0;if(c[b>>2]&15|0?(i=(kb(c,b+4>>2)|0)&2147483647,(i|0)!=(c[(Pa()|0)+52>>2]|0)):0){j=1;l=e;return j|0}if(d|0?(c[d+4>>2]|0)>>>0>999999999:0){j=22;l=e;return j|0}ng();if(!(c[a>>2]|0)){i=a+32|0;if(nb(c,i>>2,0,1)|0){nb(c,i>>2,1,2)|0;do qg(i,0,2,1);while((nb(c,i>>2,0,2)|0)!=0)}k=f+12|0;lb(c,k>>2,2)|0;lb(c,f+8>>2,0)|0;m=a+4|0;n=c[m>>2]|0;c[f+4>>2]=n;c[m>>2]=f;m=a+20|0;c[((c[m>>2]|0)==0?m:n)>>2]=f;do o=kb(c,i>>2)|0;while((nb(c,i>>2,o,0)|0)!=(o|0));if((o|0)==2){Ga(i|0,1)|0;p=k;q=2;r=0}else{p=k;q=2;r=0}}else{k=a+8|0;i=kb(c,k>>2)|0;ob(c,a+12>>2,1)|0;p=k;q=i;r=1}cg(b)|0;Ja(2,g|0)|0;if((c[g>>2]|0)==1)Ja(1,0)|0;i=(r|0)!=0;r=(i^1)&1;do s=ig(p,q,h,d,r)|0;while((kb(c,p>>2)|0)==(q|0)&(s|4|0)==4);p=(s|0)==4?0:s;a:do if(i){if((p|0)==125){s=(kb(c,a+8>>2)|0)==(q|0);t=s?125:0}else t=p;s=a+12|0;if((ob(c,s>>2,-1)|0)==-2147483647){Ga(s|0,1)|0;u=t;v=0}else{u=t;v=0}}else{s=nb(c,f+8>>2,0,2)|0;if(s|0){r=f+12|0;if(!(nb(c,r>>2,0,1)|0)){u=p;v=s;break}nb(c,r>>2,1,2)|0;while(1){qg(r,0,2,1);if(!(nb(c,r>>2,0,2)|0)){u=p;v=s;break a}}}s=a+32|0;if(nb(c,s>>2,0,1)|0){nb(c,s>>2,1,2)|0;do qg(s,0,2,1);while((nb(c,s>>2,0,2)|0)!=0)}r=a+4|0;if((c[r>>2]|0)!=(f|0)){d=c[f>>2]|0;if(d|0)c[d+4>>2]=c[f+4>>2]}else c[r>>2]=c[f+4>>2];r=a+20|0;if((c[r>>2]|0)!=(f|0)){d=c[f+4>>2]|0;if(d|0)c[d>>2]=c[f>>2]}else c[r>>2]=c[f>>2];do w=kb(c,s>>2)|0;while((nb(c,s>>2,w,0)|0)!=(w|0));if((w|0)==2)Ga(s|0,1)|0;r=f+16|0;d=c[r>>2]|0;if((d|0)!=0?(ob(c,d>>2,-1)|0)==1:0){Ga(c[r>>2]|0,1)|0;u=p;v=0}else{u=p;v=0}}while(0);p=fg(b)|0;w=(p|0)==0?u:p;if(!v){Ja(c[g>>2]|0,0)|0;if((w|0)==125){ng();Ja(1,0)|0;x=125}else x=w}else{if(!(c[f+4>>2]|0))ob(c,b+8>>2,1)|0;v=c[f>>2]|0;if(!v)pb(c,b+8>>2,1)|0;else{f=v+12|0;v=b+4|0;lb(c,f>>2,0)|0;do{}while((ra(f|0,0,v|0,kb(c,f>>2)|0)|0)==-11)}Ja(c[g>>2]|0,0)|0;x=(w|0)==125?0:w}ng();j=x;l=e;return j|0}function vg(a,b){a=a|0;b=b|0;var d=0,e=0;a:while(1){switch(nb(c,a>>2,0,1)|0){case 0:{break a;break}case 2:{d=9;break a;break}case 1:{nb(c,a>>2,1,3)|0;break}case 3:break;default:continue a}qg(a,0,3,1)}if((d|0)==9)return 0;ab(10,a|0);Ab[b&7]();la(0);do e=kb(c,a>>2)|0;while((nb(c,a>>2,e,2)|0)!=(e|0));if((e|0)!=3)return 0;Ga(a|0,2147483647)|0;return 0}function wg(a){a=a|0;var b=0;do b=kb(c,a>>2)|0;while((nb(c,a>>2,b,0)|0)!=(b|0));if((b|0)!=3)return;Ga(a|0,2147483647)|0;return}function xg(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;if((kb(c,a>>2)|0)==2){lb(c,e>>2,0)|0;nb(c,e>>2,0,0)|0;l=d;return 0}else{vg(a,b)|0;l=d;return 0}return 0}function yg(a){a=a|0;return 0}function zg(a,b){a=a|0;b=b|0;return ug(a,b,0)|0}function Ag(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((d|0)<0){c[(Ie()|0)>>2]=22;e=-1;return e|0}else{lb(c,a>>2,d)|0;lb(c,a+4>>2,0)|0;lb(c,a+8>>2,b|0?0:128)|0;e=0;return e|0}return 0}function Bg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;kb(c,a+8>>2)|0;b=a+4|0;do{d=kb(c,a>>2)|0;e=kb(c,b>>2)|0;if((d|0)==2147483647){f=3;break}}while((nb(c,a>>2,d,d+1+(d>>>31)|0)|0)!=(d|0));if((f|0)==3){c[(Ie()|0)>>2]=75;g=-1;return g|0}if(!((d|0)<0|(e|0)!=0)){g=0;return g|0}Ga(a|0,1)|0;g=0;return g|0}function Cg(a){a=a|0;return 0}function Dg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;ng();if(!(Eg(a)|0)){d=0;return d|0}e=a+4|0;f=100;while(1){if(!f)break;if((kb(c,a>>2)|0)>=1)break;if(!(kb(c,e>>2)|0))f=f+-1|0;else break}if(!(Eg(a)|0)){d=0;return d|0}f=a+8|0;a:while(1){ob(c,e>>2,1)|0;nb(c,a>>2,0,-1)|0;ab(11,e|0);g=ig(a,-1,0,b,kb(c,f>>2)|0)|0;la(1);switch(g|0){case 125:{h=4;break a;break}case 0:case 4:break;default:{i=10;break a}}if(!(Eg(a)|0)){d=0;i=12;break}}if((i|0)==10)h=g;else if((i|0)==12)return d|0;c[(Ie()|0)>>2]=h;d=-1;return d|0}function Eg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=a+4|0;while(1){d=kb(c,a>>2)|0;if((d|0)<=0)break;if((d|0)==1)e=(kb(c,b>>2)|0)!=0;else e=0;if((nb(c,a>>2,d,d+-1+(e<<31>>31)|0)|0)==(d|0)){f=0;g=7;break}}if((g|0)==7)return f|0;c[(Ie()|0)>>2]=11;f=-1;return f|0}function Fg(a){a=a|0;pb(c,a>>2,1)|0;return}function Gg(a){a=a|0;c[a>>2]=0;return 0}function Hg(a){a=a|0;return Dg(a,0)|0}function Ig(a){a=a|0;return 0}function Jg(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+32|0;e=d;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];c[a+16>>2]=c[e+16>>2];c[a+20>>2]=c[e+20>>2];c[a+24>>2]=c[e+24>>2];if(!b){l=d;return 0}c[a>>2]=c[b>>2];l=d;return 0}function Kg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0;b=l;l=l+16|0;d=b+4|0;e=b;if(!(c[3045]|0)){fg(12204)|0;if(!(c[3045]|0)){c[3047]=4096;c[3046]=4096;c[3048]=-1;c[3049]=-1;c[3050]=2;c[3169]=2;(Gg(d)|0)==0?(Jg(12680,d)|0)==0:0;f=e&-16^1431655768;c[e>>2]=f;lb(c,3045,f)|0}cg(12204)|0}if(c[3169]&2|0?fg(12680)|0:0){g=0;l=b;return g|0}do if(a>>>0<245){f=a>>>0<11?16:a+11&-8;h=f>>>3;i=c[3058]|0;j=i>>>h;if(j&3|0){k=(j&1^1)+h|0;m=12272+(k<<1<<2)|0;n=m+8|0;o=c[n>>2]|0;p=o+8|0;q=c[p>>2]|0;do if((m|0)!=(q|0)){if(q>>>0<(c[3062]|0)>>>0)$a();r=q+12|0;if((c[r>>2]|0)==(o|0)){c[r>>2]=m;c[n>>2]=q;break}else $a()}else c[3058]=i&~(1<<k);while(0);q=k<<3;c[o+4>>2]=q|3;n=o+q+4|0;c[n>>2]=c[n>>2]|1;s=p;break}n=c[3060]|0;if(f>>>0>n>>>0){if(j|0){q=2<<h;m=j<<h&(q|0-q);q=(m&0-m)+-1|0;m=q>>>12&16;r=q>>>m;q=r>>>5&8;t=r>>>q;r=t>>>2&4;u=t>>>r;t=u>>>1&2;v=u>>>t;u=v>>>1&1;w=(q|m|r|t|u)+(v>>>u)|0;u=12272+(w<<1<<2)|0;v=u+8|0;t=c[v>>2]|0;r=t+8|0;m=c[r>>2]|0;do if((u|0)!=(m|0)){if(m>>>0<(c[3062]|0)>>>0)$a();q=m+12|0;if((c[q>>2]|0)==(t|0)){c[q>>2]=u;c[v>>2]=m;x=i;break}else $a()}else{q=i&~(1<<w);c[3058]=q;x=q}while(0);m=(w<<3)-f|0;c[t+4>>2]=f|3;v=t+f|0;c[v+4>>2]=m|1;c[v+m>>2]=m;if(n|0){u=c[3063]|0;h=n>>>3;j=12272+(h<<1<<2)|0;p=1<<h;if(x&p){h=j+8|0;o=c[h>>2]|0;if(o>>>0<(c[3062]|0)>>>0)$a();else{y=h;z=o}}else{c[3058]=x|p;y=j+8|0;z=j}c[y>>2]=u;c[z+12>>2]=u;c[u+8>>2]=z;c[u+12>>2]=j}c[3060]=m;c[3063]=v;s=r;break}v=c[3059]|0;if(v){m=(v&0-v)+-1|0;j=m>>>12&16;u=m>>>j;m=u>>>5&8;p=u>>>m;u=p>>>2&4;o=p>>>u;p=o>>>1&2;h=o>>>p;o=h>>>1&1;k=c[12536+((m|j|u|p|o)+(h>>>o)<<2)>>2]|0;o=(c[k+4>>2]&-8)-f|0;h=c[k+16+(((c[k+16>>2]|0)==0&1)<<2)>>2]|0;if(!h){A=o;B=k}else{p=h;h=o;o=k;while(1){k=(c[p+4>>2]&-8)-f|0;u=k>>>0<h>>>0;j=u?k:h;k=u?p:o;p=c[p+16+(((c[p+16>>2]|0)==0&1)<<2)>>2]|0;if(!p){A=j;B=k;break}else{h=j;o=k}}}o=c[3062]|0;if(B>>>0<o>>>0)$a();h=B+f|0;if(B>>>0>=h>>>0)$a();p=c[B+24>>2]|0;r=c[B+12>>2]|0;do if((r|0)==(B|0)){t=B+20|0;w=c[t>>2]|0;if(!w){k=B+16|0;j=c[k>>2]|0;if(!j){C=0;break}else{D=j;E=k}}else{D=w;E=t}while(1){t=D+20|0;w=c[t>>2]|0;if(w|0){D=w;E=t;continue}t=D+16|0;w=c[t>>2]|0;if(!w)break;else{D=w;E=t}}if(E>>>0<o>>>0)$a();else{c[E>>2]=0;C=D;break}}else{t=c[B+8>>2]|0;if(t>>>0<o>>>0)$a();w=t+12|0;if((c[w>>2]|0)!=(B|0))$a();k=r+8|0;if((c[k>>2]|0)==(B|0)){c[w>>2]=r;c[k>>2]=t;C=r;break}else $a()}while(0);a:do if(p|0){r=c[B+28>>2]|0;o=12536+(r<<2)|0;do if((B|0)==(c[o>>2]|0)){c[o>>2]=C;if(!C){c[3059]=v&~(1<<r);break a}}else if(p>>>0>=(c[3062]|0)>>>0){c[p+16+(((c[p+16>>2]|0)!=(B|0)&1)<<2)>>2]=C;if(!C)break a;else break}else $a();while(0);r=c[3062]|0;if(C>>>0<r>>>0)$a();c[C+24>>2]=p;o=c[B+16>>2]|0;do if(o|0)if(o>>>0<r>>>0)$a();else{c[C+16>>2]=o;c[o+24>>2]=C;break}while(0);o=c[B+20>>2]|0;if(o|0)if(o>>>0<(c[3062]|0)>>>0)$a();else{c[C+20>>2]=o;c[o+24>>2]=C;break}}while(0);if(A>>>0<16){p=A+f|0;c[B+4>>2]=p|3;v=B+p+4|0;c[v>>2]=c[v>>2]|1}else{c[B+4>>2]=f|3;c[h+4>>2]=A|1;c[h+A>>2]=A;if(n|0){v=c[3063]|0;p=n>>>3;o=12272+(p<<1<<2)|0;r=1<<p;if(i&r){p=o+8|0;t=c[p>>2]|0;if(t>>>0<(c[3062]|0)>>>0)$a();else{F=p;G=t}}else{c[3058]=i|r;F=o+8|0;G=o}c[F>>2]=v;c[G+12>>2]=v;c[v+8>>2]=G;c[v+12>>2]=o}c[3060]=A;c[3063]=h}s=B+8|0}else{H=f;I=153}}else{H=f;I=153}}else if(a>>>0<=4294967231){o=a+11|0;v=o&-8;r=c[3059]|0;if(r){t=0-v|0;p=o>>>8;if(p)if(v>>>0>16777215)J=31;else{o=(p+1048320|0)>>>16&8;k=p<<o;p=(k+520192|0)>>>16&4;w=k<<p;k=(w+245760|0)>>>16&2;j=14-(p|o|k)+(w<<k>>>15)|0;J=v>>>(j+7|0)&1|j<<1}else J=0;j=c[12536+(J<<2)>>2]|0;b:do if(!j){K=t;L=0;M=0;I=90}else{k=t;w=0;o=v<<((J|0)==31?0:25-(J>>>1)|0);p=j;u=0;while(1){m=(c[p+4>>2]&-8)-v|0;if(m>>>0<k>>>0)if(!m){N=0;O=p;P=p;I=94;break b}else{Q=m;R=p}else{Q=k;R=u}m=c[p+20>>2]|0;p=c[p+16+(o>>>31<<2)>>2]|0;q=(m|0)==0|(m|0)==(p|0)?w:m;m=(p|0)==0;if(m){K=Q;L=q;M=R;I=90;break}else{k=Q;w=q;o=o<<((m^1)&1);u=R}}}while(0);if((I|0)==90){if((L|0)==0&(M|0)==0){j=2<<J;t=r&(j|0-j);if(!t){H=v;I=153;break}j=(t&0-t)+-1|0;t=j>>>12&16;f=j>>>t;j=f>>>5&8;h=f>>>j;f=h>>>2&4;i=h>>>f;h=i>>>1&2;n=i>>>h;i=n>>>1&1;S=c[12536+((j|t|f|h|i)+(n>>>i)<<2)>>2]|0;T=0}else{S=L;T=M}if(!S){U=K;V=T}else{N=K;O=S;P=T;I=94}}if((I|0)==94)while(1){I=0;i=(c[O+4>>2]&-8)-v|0;n=i>>>0<N>>>0;h=n?i:N;i=n?O:P;O=c[O+16+(((c[O+16>>2]|0)==0&1)<<2)>>2]|0;if(!O){U=h;V=i;break}else{N=h;P=i;I=94}}if((V|0)!=0?U>>>0<((c[3060]|0)-v|0)>>>0:0){i=c[3062]|0;if(V>>>0<i>>>0)$a();h=V+v|0;if(V>>>0>=h>>>0)$a();n=c[V+24>>2]|0;f=c[V+12>>2]|0;do if((f|0)==(V|0)){t=V+20|0;j=c[t>>2]|0;if(!j){u=V+16|0;o=c[u>>2]|0;if(!o){W=0;break}else{X=o;Y=u}}else{X=j;Y=t}while(1){t=X+20|0;j=c[t>>2]|0;if(j|0){X=j;Y=t;continue}t=X+16|0;j=c[t>>2]|0;if(!j)break;else{X=j;Y=t}}if(Y>>>0<i>>>0)$a();else{c[Y>>2]=0;W=X;break}}else{t=c[V+8>>2]|0;if(t>>>0<i>>>0)$a();j=t+12|0;if((c[j>>2]|0)!=(V|0))$a();u=f+8|0;if((c[u>>2]|0)==(V|0)){c[j>>2]=f;c[u>>2]=t;W=f;break}else $a()}while(0);c:do if(n){f=c[V+28>>2]|0;i=12536+(f<<2)|0;do if((V|0)==(c[i>>2]|0)){c[i>>2]=W;if(!W){t=r&~(1<<f);c[3059]=t;Z=t;break c}}else if(n>>>0>=(c[3062]|0)>>>0){c[n+16+(((c[n+16>>2]|0)!=(V|0)&1)<<2)>>2]=W;if(!W){Z=r;break c}else break}else $a();while(0);f=c[3062]|0;if(W>>>0<f>>>0)$a();c[W+24>>2]=n;i=c[V+16>>2]|0;do if(i|0)if(i>>>0<f>>>0)$a();else{c[W+16>>2]=i;c[i+24>>2]=W;break}while(0);i=c[V+20>>2]|0;if(i)if(i>>>0<(c[3062]|0)>>>0)$a();else{c[W+20>>2]=i;c[i+24>>2]=W;Z=r;break}else Z=r}else Z=r;while(0);do if(U>>>0>=16){c[V+4>>2]=v|3;c[h+4>>2]=U|1;c[h+U>>2]=U;r=U>>>3;if(U>>>0<256){n=12272+(r<<1<<2)|0;i=c[3058]|0;f=1<<r;do if(!(i&f)){c[3058]=i|f;_=n+8|0;$=n}else{r=n+8|0;t=c[r>>2]|0;if(t>>>0>=(c[3062]|0)>>>0){_=r;$=t;break}$a()}while(0);c[_>>2]=h;c[$+12>>2]=h;c[h+8>>2]=$;c[h+12>>2]=n;break}f=U>>>8;if(f)if(U>>>0>16777215)aa=31;else{i=(f+1048320|0)>>>16&8;t=f<<i;f=(t+520192|0)>>>16&4;r=t<<f;t=(r+245760|0)>>>16&2;u=14-(f|i|t)+(r<<t>>>15)|0;aa=U>>>(u+7|0)&1|u<<1}else aa=0;u=12536+(aa<<2)|0;c[h+28>>2]=aa;t=h+16|0;c[t+4>>2]=0;c[t>>2]=0;t=1<<aa;if(!(Z&t)){c[3059]=Z|t;c[u>>2]=h;c[h+24>>2]=u;c[h+12>>2]=h;c[h+8>>2]=h;break}t=U<<((aa|0)==31?0:25-(aa>>>1)|0);r=c[u>>2]|0;while(1){if((c[r+4>>2]&-8|0)==(U|0)){I=148;break}ba=r+16+(t>>>31<<2)|0;u=c[ba>>2]|0;if(!u){I=145;break}else{t=t<<1;r=u}}if((I|0)==145)if(ba>>>0<(c[3062]|0)>>>0)$a();else{c[ba>>2]=h;c[h+24>>2]=r;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((I|0)==148){t=r+8|0;n=c[t>>2]|0;u=c[3062]|0;if(n>>>0>=u>>>0&r>>>0>=u>>>0){c[n+12>>2]=h;c[t>>2]=h;c[h+8>>2]=n;c[h+12>>2]=r;c[h+24>>2]=0;break}else $a()}}else{n=U+v|0;c[V+4>>2]=n|3;t=V+n+4|0;c[t>>2]=c[t>>2]|1}while(0);s=V+8|0}else{H=v;I=153}}else{H=v;I=153}}else{H=-1;I=153}while(0);d:do if((I|0)==153){V=c[3060]|0;if(V>>>0>=H>>>0){U=V-H|0;ba=c[3063]|0;if(U>>>0>15){aa=ba+H|0;c[3063]=aa;c[3060]=U;c[aa+4>>2]=U|1;c[aa+U>>2]=U;c[ba+4>>2]=H|3}else{c[3060]=0;c[3063]=0;c[ba+4>>2]=V|3;U=ba+V+4|0;c[U>>2]=c[U>>2]|1}s=ba+8|0;break}ba=c[3061]|0;if(ba>>>0>H>>>0){U=ba-H|0;c[3061]=U;ba=c[3064]|0;V=ba+H|0;c[3064]=V;c[V+4>>2]=U|1;c[ba+4>>2]=H|3;s=ba+8|0;break}if(!(c[3045]|0)){fg(12204)|0;if(!(c[3045]|0)){c[3047]=4096;c[3046]=4096;c[3048]=-1;c[3049]=-1;c[3050]=2;c[3169]=2;(Gg(d)|0)==0?(Jg(12680,d)|0)==0:0;ba=e&-16^1431655768;c[e>>2]=ba;lb(c,3045,ba)|0}cg(12204)|0}ba=H+48|0;U=c[3047]|0;V=H+47|0;aa=U+V&0-U;if(aa>>>0>H>>>0){U=c[3168]|0;if(U|0?(Z=c[3166]|0,$=Z+aa|0,$>>>0<=Z>>>0|$>>>0>U>>>0):0){s=0;break}if(!(c[3169]&4)){U=c[3064]|0;e:do if(U){$=12708;while(1){Z=c[$>>2]|0;if(Z>>>0<=U>>>0?(ca=$+4|0,(Z+(c[ca>>2]|0)|0)>>>0>U>>>0):0)break;Z=c[$+8>>2]|0;if(!Z){I=176;break e}else $=Z}fg(12204)|0;r=c[3047]|0;Z=V-(c[3061]|0)+r&0-r;if(Z>>>0<2147483647){r=dh(Z|0)|0;if((r|0)==((c[$>>2]|0)+(c[ca>>2]|0)|0))if((r|0)==(-1|0)){da=Z;I=190}else{ea=r;fa=Z}else{ga=r;ha=Z;I=184}}else{da=0;I=190}}else I=176;while(0);do if((I|0)==176){fg(12204)|0;U=dh(0)|0;if((U|0)!=(-1|0)?(v=U,Z=c[3046]|0,r=Z+-1|0,_=((r&v|0)==0?0:(r+v&0-Z)-v|0)+aa|0,v=c[3166]|0,Z=_+v|0,_>>>0>H>>>0&_>>>0<2147483647):0){r=c[3168]|0;if(r|0?Z>>>0<=v>>>0|Z>>>0>r>>>0:0){da=0;I=190;break}r=dh(_|0)|0;if((r|0)==(U|0)){ea=U;fa=_}else{ga=r;ha=_;I=184}}else{da=0;I=190}}while(0);do if((I|0)==184){_=0-ha|0;if(!(ba>>>0>ha>>>0&(ha>>>0<2147483647&(ga|0)!=(-1|0))))if((ga|0)==(-1|0)){da=0;I=190;break}else{ea=ga;fa=ha;break}r=c[3047]|0;U=V-ha+r&0-r;if(U>>>0<2147483647)if((dh(U|0)|0)==(-1|0)){dh(_|0)|0;da=0;I=190;break}else{ea=ga;fa=U+ha|0;break}else{ea=ga;fa=ha}}while(0);if((I|0)==190){c[3169]=c[3169]|4;ea=-1;fa=da}cg(12204)|0;ia=ea;ja=fa}else{ia=-1;ja=0}if(aa>>>0<2147483647&(ia|0)==(-1|0)){fg(12204)|0;V=dh(aa|0)|0;ba=dh(0)|0;cg(12204)|0;U=ba-V|0;_=U>>>0>(H+40|0)>>>0;if(V>>>0<ba>>>0&((V|0)!=(-1|0)&(ba|0)!=(-1|0))){ka=_?V:-1;la=_?U:ja;I=194}}else{ka=ia;la=ja;I=194}if((I|0)==194?(ka|0)!=(-1|0):0){U=(c[3166]|0)+la|0;c[3166]=U;if(U>>>0>(c[3167]|0)>>>0)c[3167]=U;U=c[3064]|0;do if(U){_=12708;while(1){ma=c[_>>2]|0;na=_+4|0;oa=c[na>>2]|0;if((ka|0)==(ma+oa|0)){I=205;break}V=c[_+8>>2]|0;if(!V)break;else _=V}if(((I|0)==205?(c[_+12>>2]&8|0)==0:0)?U>>>0<ka>>>0&U>>>0>=ma>>>0:0){c[na>>2]=oa+la;$=U+8|0;V=($&7|0)==0?0:0-$&7;$=U+V|0;ba=(c[3061]|0)+(la-V)|0;c[3064]=$;c[3061]=ba;c[$+4>>2]=ba|1;c[$+ba+4>>2]=40;c[3065]=c[3049];break}ba=c[3062]|0;if(ka>>>0<ba>>>0){c[3062]=ka;pa=ka}else pa=ba;ba=ka+la|0;$=12708;while(1){if((c[$>>2]|0)==(ba|0)){I=213;break}V=c[$+8>>2]|0;if(!V)break;else $=V}if((I|0)==213?(c[$+12>>2]&8|0)==0:0){c[$>>2]=ka;_=$+4|0;c[_>>2]=(c[_>>2]|0)+la;_=ka+8|0;V=ka+((_&7|0)==0?0:0-_&7)|0;_=ba+8|0;r=ba+((_&7|0)==0?0:0-_&7)|0;_=V+H|0;Z=r-V-H|0;c[V+4>>2]=H|3;do if((r|0)!=(U|0)){if((r|0)==(c[3063]|0)){v=(c[3060]|0)+Z|0;c[3060]=v;c[3063]=_;c[_+4>>2]=v|1;c[_+v>>2]=v;break}v=c[r+4>>2]|0;if((v&3|0)==1){W=v&-8;X=v>>>3;f:do if(v>>>0>=256){Y=c[r+24>>2]|0;P=c[r+12>>2]|0;do if((P|0)==(r|0)){N=r+16|0;O=N+4|0;T=c[O>>2]|0;if(!T){S=c[N>>2]|0;if(!S){qa=0;break}else{ra=S;sa=N}}else{ra=T;sa=O}while(1){O=ra+20|0;T=c[O>>2]|0;if(T|0){ra=T;sa=O;continue}O=ra+16|0;T=c[O>>2]|0;if(!T)break;else{ra=T;sa=O}}if(sa>>>0<pa>>>0)$a();else{c[sa>>2]=0;qa=ra;break}}else{O=c[r+8>>2]|0;if(O>>>0<pa>>>0)$a();T=O+12|0;if((c[T>>2]|0)!=(r|0))$a();N=P+8|0;if((c[N>>2]|0)==(r|0)){c[T>>2]=P;c[N>>2]=O;qa=P;break}else $a()}while(0);if(!Y)break;P=c[r+28>>2]|0;O=12536+(P<<2)|0;do if((r|0)!=(c[O>>2]|0))if(Y>>>0>=(c[3062]|0)>>>0){c[Y+16+(((c[Y+16>>2]|0)!=(r|0)&1)<<2)>>2]=qa;if(!qa)break f;else break}else $a();else{c[O>>2]=qa;if(qa|0)break;c[3059]=c[3059]&~(1<<P);break f}while(0);P=c[3062]|0;if(qa>>>0<P>>>0)$a();c[qa+24>>2]=Y;O=r+16|0;N=c[O>>2]|0;do if(N|0)if(N>>>0<P>>>0)$a();else{c[qa+16>>2]=N;c[N+24>>2]=qa;break}while(0);N=c[O+4>>2]|0;if(!N)break;if(N>>>0<(c[3062]|0)>>>0)$a();else{c[qa+20>>2]=N;c[N+24>>2]=qa;break}}else{N=c[r+8>>2]|0;P=c[r+12>>2]|0;Y=12272+(X<<1<<2)|0;do if((N|0)!=(Y|0)){if(N>>>0<pa>>>0)$a();if((c[N+12>>2]|0)==(r|0))break;$a()}while(0);if((P|0)==(N|0)){c[3058]=c[3058]&~(1<<X);break}do if((P|0)==(Y|0))ta=P+8|0;else{if(P>>>0<pa>>>0)$a();O=P+8|0;if((c[O>>2]|0)==(r|0)){ta=O;break}$a()}while(0);c[N+12>>2]=P;c[ta>>2]=N}while(0);ua=r+W|0;va=W+Z|0}else{ua=r;va=Z}X=ua+4|0;c[X>>2]=c[X>>2]&-2;c[_+4>>2]=va|1;c[_+va>>2]=va;X=va>>>3;if(va>>>0<256){v=12272+(X<<1<<2)|0;Y=c[3058]|0;O=1<<X;do if(!(Y&O)){c[3058]=Y|O;wa=v+8|0;xa=v}else{X=v+8|0;T=c[X>>2]|0;if(T>>>0>=(c[3062]|0)>>>0){wa=X;xa=T;break}$a()}while(0);c[wa>>2]=_;c[xa+12>>2]=_;c[_+8>>2]=xa;c[_+12>>2]=v;break}O=va>>>8;do if(!O)ya=0;else{if(va>>>0>16777215){ya=31;break}Y=(O+1048320|0)>>>16&8;W=O<<Y;T=(W+520192|0)>>>16&4;X=W<<T;W=(X+245760|0)>>>16&2;S=14-(T|Y|W)+(X<<W>>>15)|0;ya=va>>>(S+7|0)&1|S<<1}while(0);O=12536+(ya<<2)|0;c[_+28>>2]=ya;v=_+16|0;c[v+4>>2]=0;c[v>>2]=0;v=c[3059]|0;S=1<<ya;if(!(v&S)){c[3059]=v|S;c[O>>2]=_;c[_+24>>2]=O;c[_+12>>2]=_;c[_+8>>2]=_;break}S=va<<((ya|0)==31?0:25-(ya>>>1)|0);v=c[O>>2]|0;while(1){if((c[v+4>>2]&-8|0)==(va|0)){I=280;break}za=v+16+(S>>>31<<2)|0;O=c[za>>2]|0;if(!O){I=277;break}else{S=S<<1;v=O}}if((I|0)==277)if(za>>>0<(c[3062]|0)>>>0)$a();else{c[za>>2]=_;c[_+24>>2]=v;c[_+12>>2]=_;c[_+8>>2]=_;break}else if((I|0)==280){S=v+8|0;O=c[S>>2]|0;W=c[3062]|0;if(O>>>0>=W>>>0&v>>>0>=W>>>0){c[O+12>>2]=_;c[S>>2]=_;c[_+8>>2]=O;c[_+12>>2]=v;c[_+24>>2]=0;break}else $a()}}else{O=(c[3061]|0)+Z|0;c[3061]=O;c[3064]=_;c[_+4>>2]=O|1}while(0);s=V+8|0;break d}_=12708;while(1){Z=c[_>>2]|0;if(Z>>>0<=U>>>0?(Aa=Z+(c[_+4>>2]|0)|0,Aa>>>0>U>>>0):0)break;_=c[_+8>>2]|0}_=Aa+-47|0;V=_+8|0;Z=_+((V&7|0)==0?0:0-V&7)|0;V=U+16|0;_=Z>>>0<V>>>0?U:Z;Z=_+8|0;r=ka+8|0;ba=(r&7|0)==0?0:0-r&7;r=ka+ba|0;$=la+-40-ba|0;c[3064]=r;c[3061]=$;c[r+4>>2]=$|1;c[r+$+4>>2]=40;c[3065]=c[3049];$=_+4|0;c[$>>2]=27;c[Z>>2]=c[3177];c[Z+4>>2]=c[3178];c[Z+8>>2]=c[3179];c[Z+12>>2]=c[3180];c[3177]=ka;c[3178]=la;c[3180]=0;c[3179]=Z;Z=_+24|0;do{r=Z;Z=Z+4|0;c[Z>>2]=7}while((r+8|0)>>>0<Aa>>>0);if((_|0)!=(U|0)){Z=_-U|0;c[$>>2]=c[$>>2]&-2;c[U+4>>2]=Z|1;c[_>>2]=Z;r=Z>>>3;if(Z>>>0<256){ba=12272+(r<<1<<2)|0;O=c[3058]|0;S=1<<r;do if(!(O&S)){c[3058]=O|S;Ba=ba+8|0;Ca=ba}else{r=ba+8|0;W=c[r>>2]|0;if(W>>>0>=(c[3062]|0)>>>0){Ba=r;Ca=W;break}$a()}while(0);c[Ba>>2]=U;c[Ca+12>>2]=U;c[U+8>>2]=Ca;c[U+12>>2]=ba;break}S=Z>>>8;do if(!S)Da=0;else{if(Z>>>0>16777215){Da=31;break}O=(S+1048320|0)>>>16&8;_=S<<O;$=(_+520192|0)>>>16&4;W=_<<$;_=(W+245760|0)>>>16&2;r=14-($|O|_)+(W<<_>>>15)|0;Da=Z>>>(r+7|0)&1|r<<1}while(0);S=12536+(Da<<2)|0;c[U+28>>2]=Da;c[U+20>>2]=0;c[V>>2]=0;ba=c[3059]|0;r=1<<Da;if(!(ba&r)){c[3059]=ba|r;c[S>>2]=U;c[U+24>>2]=S;c[U+12>>2]=U;c[U+8>>2]=U;break}r=Z<<((Da|0)==31?0:25-(Da>>>1)|0);ba=c[S>>2]|0;while(1){if((c[ba+4>>2]&-8|0)==(Z|0)){I=307;break}Ea=ba+16+(r>>>31<<2)|0;S=c[Ea>>2]|0;if(!S){I=304;break}else{r=r<<1;ba=S}}if((I|0)==304)if(Ea>>>0<(c[3062]|0)>>>0)$a();else{c[Ea>>2]=U;c[U+24>>2]=ba;c[U+12>>2]=U;c[U+8>>2]=U;break}else if((I|0)==307){r=ba+8|0;Z=c[r>>2]|0;V=c[3062]|0;if(Z>>>0>=V>>>0&ba>>>0>=V>>>0){c[Z+12>>2]=U;c[r>>2]=U;c[U+8>>2]=Z;c[U+12>>2]=ba;c[U+24>>2]=0;break}else $a()}}}else{Z=c[3062]|0;if((Z|0)==0|ka>>>0<Z>>>0)c[3062]=ka;c[3177]=ka;c[3178]=la;c[3180]=0;c[3067]=c[3045];c[3066]=-1;Z=0;do{r=12272+(Z<<1<<2)|0;c[r+12>>2]=r;c[r+8>>2]=r;Z=Z+1|0}while((Z|0)!=32);Z=ka+8|0;ba=(Z&7|0)==0?0:0-Z&7;Z=ka+ba|0;r=la+-40-ba|0;c[3064]=Z;c[3061]=r;c[Z+4>>2]=r|1;c[Z+r+4>>2]=40;c[3065]=c[3049]}while(0);U=c[3061]|0;if(U>>>0>H>>>0){aa=U-H|0;c[3061]=aa;U=c[3064]|0;r=U+H|0;c[3064]=r;c[r+4>>2]=aa|1;c[U+4>>2]=H|3;s=U+8|0;break}}c[(Ie()|0)>>2]=12;s=0}else s=0}while(0);if(!(c[3169]&2)){g=s;l=b;return g|0}cg(12680)|0;g=s;l=b;return g|0}function Lg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;if(!a)return;b=a+-8|0;if(c[3169]&2|0?fg(12680)|0:0)return;d=c[3062]|0;if(b>>>0<d>>>0)$a();e=c[a+-4>>2]|0;a=e&3;if((a|0)==1)$a();f=e&-8;g=b+f|0;a:do if(!(e&1)){h=c[b>>2]|0;if(a|0){i=b+(0-h)|0;j=h+f|0;if(i>>>0<d>>>0)$a();if((i|0)==(c[3063]|0)){k=g+4|0;l=c[k>>2]|0;if((l&3|0)!=3){m=i;n=i;o=j;p=55;break}c[3060]=j;c[k>>2]=l&-2;c[i+4>>2]=j|1;c[i+j>>2]=j;break}l=h>>>3;if(h>>>0<256){h=c[i+8>>2]|0;k=c[i+12>>2]|0;q=12272+(l<<1<<2)|0;if((h|0)!=(q|0)){if(h>>>0<d>>>0)$a();if((c[h+12>>2]|0)!=(i|0))$a()}if((k|0)==(h|0)){c[3058]=c[3058]&~(1<<l);m=i;n=i;o=j;p=55;break}if((k|0)!=(q|0)){if(k>>>0<d>>>0)$a();q=k+8|0;if((c[q>>2]|0)==(i|0))r=q;else $a()}else r=k+8|0;c[h+12>>2]=k;c[r>>2]=h;m=i;n=i;o=j;p=55;break}h=c[i+24>>2]|0;k=c[i+12>>2]|0;do if((k|0)==(i|0)){q=i+16|0;l=q+4|0;s=c[l>>2]|0;if(!s){t=c[q>>2]|0;if(!t){u=0;break}else{v=t;w=q}}else{v=s;w=l}while(1){l=v+20|0;s=c[l>>2]|0;if(s|0){v=s;w=l;continue}l=v+16|0;s=c[l>>2]|0;if(!s)break;else{v=s;w=l}}if(w>>>0<d>>>0)$a();else{c[w>>2]=0;u=v;break}}else{l=c[i+8>>2]|0;if(l>>>0<d>>>0)$a();s=l+12|0;if((c[s>>2]|0)!=(i|0))$a();q=k+8|0;if((c[q>>2]|0)==(i|0)){c[s>>2]=k;c[q>>2]=l;u=k;break}else $a()}while(0);if(h){k=c[i+28>>2]|0;l=12536+(k<<2)|0;do if((i|0)==(c[l>>2]|0)){c[l>>2]=u;if(!u){c[3059]=c[3059]&~(1<<k);m=i;n=i;o=j;p=55;break a}}else if(h>>>0>=(c[3062]|0)>>>0){c[h+16+(((c[h+16>>2]|0)!=(i|0)&1)<<2)>>2]=u;if(!u){m=i;n=i;o=j;p=55;break a}else break}else $a();while(0);k=c[3062]|0;if(u>>>0<k>>>0)$a();c[u+24>>2]=h;l=i+16|0;q=c[l>>2]|0;do if(q|0)if(q>>>0<k>>>0)$a();else{c[u+16>>2]=q;c[q+24>>2]=u;break}while(0);q=c[l+4>>2]|0;if(q)if(q>>>0<(c[3062]|0)>>>0)$a();else{c[u+20>>2]=q;c[q+24>>2]=u;m=i;n=i;o=j;p=55;break}else{m=i;n=i;o=j;p=55}}else{m=i;n=i;o=j;p=55}}}else{m=b;n=b;o=f;p=55}while(0);do if((p|0)==55){if(m>>>0>=g>>>0)$a();f=g+4|0;b=c[f>>2]|0;if(!(b&1))$a();if(!(b&2)){u=c[3063]|0;if((g|0)==(c[3064]|0)){d=(c[3061]|0)+o|0;c[3061]=d;c[3064]=n;c[n+4>>2]=d|1;if((n|0)!=(u|0))break;c[3063]=0;c[3060]=0;break}if((g|0)==(u|0)){u=(c[3060]|0)+o|0;c[3060]=u;c[3063]=m;c[n+4>>2]=u|1;c[m+u>>2]=u;break}u=(b&-8)+o|0;d=b>>>3;b:do if(b>>>0>=256){v=c[g+24>>2]|0;w=c[g+12>>2]|0;do if((w|0)==(g|0)){r=g+16|0;a=r+4|0;e=c[a>>2]|0;if(!e){q=c[r>>2]|0;if(!q){x=0;break}else{y=q;z=r}}else{y=e;z=a}while(1){a=y+20|0;e=c[a>>2]|0;if(e|0){y=e;z=a;continue}a=y+16|0;e=c[a>>2]|0;if(!e)break;else{y=e;z=a}}if(z>>>0<(c[3062]|0)>>>0)$a();else{c[z>>2]=0;x=y;break}}else{a=c[g+8>>2]|0;if(a>>>0<(c[3062]|0)>>>0)$a();e=a+12|0;if((c[e>>2]|0)!=(g|0))$a();r=w+8|0;if((c[r>>2]|0)==(g|0)){c[e>>2]=w;c[r>>2]=a;x=w;break}else $a()}while(0);if(v|0){w=c[g+28>>2]|0;a=12536+(w<<2)|0;do if((g|0)==(c[a>>2]|0)){c[a>>2]=x;if(!x){c[3059]=c[3059]&~(1<<w);break b}}else if(v>>>0>=(c[3062]|0)>>>0){c[v+16+(((c[v+16>>2]|0)!=(g|0)&1)<<2)>>2]=x;if(!x)break b;else break}else $a();while(0);w=c[3062]|0;if(x>>>0<w>>>0)$a();c[x+24>>2]=v;a=g+16|0;r=c[a>>2]|0;do if(r|0)if(r>>>0<w>>>0)$a();else{c[x+16>>2]=r;c[r+24>>2]=x;break}while(0);r=c[a+4>>2]|0;if(r|0)if(r>>>0<(c[3062]|0)>>>0)$a();else{c[x+20>>2]=r;c[r+24>>2]=x;break}}}else{r=c[g+8>>2]|0;w=c[g+12>>2]|0;v=12272+(d<<1<<2)|0;if((r|0)!=(v|0)){if(r>>>0<(c[3062]|0)>>>0)$a();if((c[r+12>>2]|0)!=(g|0))$a()}if((w|0)==(r|0)){c[3058]=c[3058]&~(1<<d);break}if((w|0)!=(v|0)){if(w>>>0<(c[3062]|0)>>>0)$a();v=w+8|0;if((c[v>>2]|0)==(g|0))A=v;else $a()}else A=w+8|0;c[r+12>>2]=w;c[A>>2]=r}while(0);c[n+4>>2]=u|1;c[m+u>>2]=u;if((n|0)==(c[3063]|0)){c[3060]=u;break}else B=u}else{c[f>>2]=b&-2;c[n+4>>2]=o|1;c[m+o>>2]=o;B=o}d=B>>>3;if(B>>>0<256){j=12272+(d<<1<<2)|0;i=c[3058]|0;l=1<<d;if(i&l){d=j+8|0;r=c[d>>2]|0;if(r>>>0<(c[3062]|0)>>>0)$a();else{C=d;D=r}}else{c[3058]=i|l;C=j+8|0;D=j}c[C>>2]=n;c[D+12>>2]=n;c[n+8>>2]=D;c[n+12>>2]=j;break}j=B>>>8;if(j)if(B>>>0>16777215)E=31;else{l=(j+1048320|0)>>>16&8;i=j<<l;j=(i+520192|0)>>>16&4;r=i<<j;i=(r+245760|0)>>>16&2;d=14-(j|l|i)+(r<<i>>>15)|0;E=B>>>(d+7|0)&1|d<<1}else E=0;d=12536+(E<<2)|0;c[n+28>>2]=E;c[n+20>>2]=0;c[n+16>>2]=0;i=c[3059]|0;r=1<<E;do if(i&r){l=B<<((E|0)==31?0:25-(E>>>1)|0);j=c[d>>2]|0;while(1){if((c[j+4>>2]&-8|0)==(B|0)){p=126;break}F=j+16+(l>>>31<<2)|0;w=c[F>>2]|0;if(!w){p=123;break}else{l=l<<1;j=w}}if((p|0)==123)if(F>>>0<(c[3062]|0)>>>0)$a();else{c[F>>2]=n;c[n+24>>2]=j;c[n+12>>2]=n;c[n+8>>2]=n;break}else if((p|0)==126){l=j+8|0;a=c[l>>2]|0;w=c[3062]|0;if(a>>>0>=w>>>0&j>>>0>=w>>>0){c[a+12>>2]=n;c[l>>2]=n;c[n+8>>2]=a;c[n+12>>2]=j;c[n+24>>2]=0;break}else $a()}}else{c[3059]=i|r;c[d>>2]=n;c[n+24>>2]=d;c[n+12>>2]=n;c[n+8>>2]=n}while(0);d=(c[3066]|0)+-1|0;c[3066]=d;if(!d){d=12716;while(1){r=c[d>>2]|0;if(!r)break;else d=r+8|0}c[3066]=-1}}while(0);if(!(c[3169]&2))return;cg(12680)|0;return}function Mg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a){d=Kg(b)|0;return d|0}if(b>>>0>4294967231){c[(Ie()|0)>>2]=12;d=0;return d|0}e=b>>>0<11?16:b+11&-8;f=a+-8|0;if(c[3169]&2|0?fg(12680)|0:0){d=0;return d|0}g=Ng(f,e)|0;if(c[3169]&2|0)cg(12680)|0;if(g|0){d=g+8|0;return d|0}g=Kg(b)|0;if(!g){d=0;return d|0}e=c[a+-4>>2]|0;f=(e&-8)-((e&3|0)==0?8:4)|0;Yg(g|0,a|0,(f>>>0<b>>>0?f:b)|0)|0;Lg(a);d=g;return d|0}function Ng(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=a+4|0;e=c[d>>2]|0;f=e&-8;g=a+f|0;h=c[3062]|0;i=e&3;if(!((i|0)!=1&a>>>0>=h>>>0&a>>>0<g>>>0))$a();j=c[g+4>>2]|0;if(!(j&1))$a();if(!i){if(b>>>0<256){k=0;return k|0}if(f>>>0>=(b+4|0)>>>0?(f-b|0)>>>0<=c[3047]<<1>>>0:0){k=a;return k|0}k=0;return k|0}if(f>>>0>=b>>>0){i=f-b|0;if(i>>>0<=15){k=a;return k|0}l=a+b|0;c[d>>2]=e&1|b|2;c[l+4>>2]=i|3;m=l+i+4|0;c[m>>2]=c[m>>2]|1;Og(l,i);k=a;return k|0}if((g|0)==(c[3064]|0)){i=(c[3061]|0)+f|0;l=i-b|0;m=a+b|0;if(i>>>0<=b>>>0){k=0;return k|0}c[d>>2]=e&1|b|2;c[m+4>>2]=l|1;c[3064]=m;c[3061]=l;k=a;return k|0}if((g|0)==(c[3063]|0)){l=(c[3060]|0)+f|0;if(l>>>0<b>>>0){k=0;return k|0}m=l-b|0;i=e&1;if(m>>>0>15){n=a+b|0;o=n+m|0;c[d>>2]=i|b|2;c[n+4>>2]=m|1;c[o>>2]=m;p=o+4|0;c[p>>2]=c[p>>2]&-2;q=n;r=m}else{c[d>>2]=i|l|2;i=a+l+4|0;c[i>>2]=c[i>>2]|1;q=0;r=0}c[3060]=r;c[3063]=q;k=a;return k|0}if(j&2|0){k=0;return k|0}q=(j&-8)+f|0;if(q>>>0<b>>>0){k=0;return k|0}f=q-b|0;r=j>>>3;a:do if(j>>>0>=256){i=c[g+24>>2]|0;l=c[g+12>>2]|0;do if((l|0)==(g|0)){m=g+16|0;n=m+4|0;p=c[n>>2]|0;if(!p){o=c[m>>2]|0;if(!o){s=0;break}else{t=o;u=m}}else{t=p;u=n}while(1){n=t+20|0;p=c[n>>2]|0;if(p|0){t=p;u=n;continue}n=t+16|0;p=c[n>>2]|0;if(!p)break;else{t=p;u=n}}if(u>>>0<h>>>0)$a();else{c[u>>2]=0;s=t;break}}else{n=c[g+8>>2]|0;if(n>>>0<h>>>0)$a();p=n+12|0;if((c[p>>2]|0)!=(g|0))$a();m=l+8|0;if((c[m>>2]|0)==(g|0)){c[p>>2]=l;c[m>>2]=n;s=l;break}else $a()}while(0);if(i|0){l=c[g+28>>2]|0;n=12536+(l<<2)|0;do if((g|0)==(c[n>>2]|0)){c[n>>2]=s;if(!s){c[3059]=c[3059]&~(1<<l);break a}}else if(i>>>0>=(c[3062]|0)>>>0){c[i+16+(((c[i+16>>2]|0)!=(g|0)&1)<<2)>>2]=s;if(!s)break a;else break}else $a();while(0);l=c[3062]|0;if(s>>>0<l>>>0)$a();c[s+24>>2]=i;n=g+16|0;m=c[n>>2]|0;do if(m|0)if(m>>>0<l>>>0)$a();else{c[s+16>>2]=m;c[m+24>>2]=s;break}while(0);m=c[n+4>>2]|0;if(m|0)if(m>>>0<(c[3062]|0)>>>0)$a();else{c[s+20>>2]=m;c[m+24>>2]=s;break}}}else{m=c[g+8>>2]|0;l=c[g+12>>2]|0;i=12272+(r<<1<<2)|0;if((m|0)!=(i|0)){if(m>>>0<h>>>0)$a();if((c[m+12>>2]|0)!=(g|0))$a()}if((l|0)==(m|0)){c[3058]=c[3058]&~(1<<r);break}if((l|0)!=(i|0)){if(l>>>0<h>>>0)$a();i=l+8|0;if((c[i>>2]|0)==(g|0))v=i;else $a()}else v=l+8|0;c[m+12>>2]=l;c[v>>2]=m}while(0);v=e&1;if(f>>>0<16){c[d>>2]=q|v|2;e=a+q+4|0;c[e>>2]=c[e>>2]|1;k=a;return k|0}else{e=a+b|0;c[d>>2]=v|b|2;c[e+4>>2]=f|3;b=e+f+4|0;c[b>>2]=c[b>>2]|1;Og(e,f);k=a;return k|0}return 0}function Og(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;d=a+b|0;e=c[a+4>>2]|0;a:do if(!(e&1)){f=c[a>>2]|0;if(!(e&3))return;g=a+(0-f)|0;h=f+b|0;i=c[3062]|0;if(g>>>0<i>>>0)$a();if((g|0)==(c[3063]|0)){j=d+4|0;k=c[j>>2]|0;if((k&3|0)!=3){l=g;m=h;break}c[3060]=h;c[j>>2]=k&-2;c[g+4>>2]=h|1;c[g+h>>2]=h;return}k=f>>>3;if(f>>>0<256){f=c[g+8>>2]|0;j=c[g+12>>2]|0;n=12272+(k<<1<<2)|0;if((f|0)!=(n|0)){if(f>>>0<i>>>0)$a();if((c[f+12>>2]|0)!=(g|0))$a()}if((j|0)==(f|0)){c[3058]=c[3058]&~(1<<k);l=g;m=h;break}if((j|0)!=(n|0)){if(j>>>0<i>>>0)$a();n=j+8|0;if((c[n>>2]|0)==(g|0))o=n;else $a()}else o=j+8|0;c[f+12>>2]=j;c[o>>2]=f;l=g;m=h;break}f=c[g+24>>2]|0;j=c[g+12>>2]|0;do if((j|0)==(g|0)){n=g+16|0;k=n+4|0;p=c[k>>2]|0;if(!p){q=c[n>>2]|0;if(!q){r=0;break}else{s=q;t=n}}else{s=p;t=k}while(1){k=s+20|0;p=c[k>>2]|0;if(p|0){s=p;t=k;continue}k=s+16|0;p=c[k>>2]|0;if(!p)break;else{s=p;t=k}}if(t>>>0<i>>>0)$a();else{c[t>>2]=0;r=s;break}}else{k=c[g+8>>2]|0;if(k>>>0<i>>>0)$a();p=k+12|0;if((c[p>>2]|0)!=(g|0))$a();n=j+8|0;if((c[n>>2]|0)==(g|0)){c[p>>2]=j;c[n>>2]=k;r=j;break}else $a()}while(0);if(f){j=c[g+28>>2]|0;i=12536+(j<<2)|0;do if((g|0)==(c[i>>2]|0)){c[i>>2]=r;if(!r){c[3059]=c[3059]&~(1<<j);l=g;m=h;break a}}else if(f>>>0>=(c[3062]|0)>>>0){c[f+16+(((c[f+16>>2]|0)!=(g|0)&1)<<2)>>2]=r;if(!r){l=g;m=h;break a}else break}else $a();while(0);j=c[3062]|0;if(r>>>0<j>>>0)$a();c[r+24>>2]=f;i=g+16|0;k=c[i>>2]|0;do if(k|0)if(k>>>0<j>>>0)$a();else{c[r+16>>2]=k;c[k+24>>2]=r;break}while(0);k=c[i+4>>2]|0;if(k)if(k>>>0<(c[3062]|0)>>>0)$a();else{c[r+20>>2]=k;c[k+24>>2]=r;l=g;m=h;break}else{l=g;m=h}}else{l=g;m=h}}else{l=a;m=b}while(0);b=c[3062]|0;if(d>>>0<b>>>0)$a();a=d+4|0;r=c[a>>2]|0;if(!(r&2)){s=c[3063]|0;if((d|0)==(c[3064]|0)){t=(c[3061]|0)+m|0;c[3061]=t;c[3064]=l;c[l+4>>2]=t|1;if((l|0)!=(s|0))return;c[3063]=0;c[3060]=0;return}if((d|0)==(s|0)){s=(c[3060]|0)+m|0;c[3060]=s;c[3063]=l;c[l+4>>2]=s|1;c[l+s>>2]=s;return}s=(r&-8)+m|0;t=r>>>3;b:do if(r>>>0>=256){o=c[d+24>>2]|0;e=c[d+12>>2]|0;do if((e|0)==(d|0)){k=d+16|0;j=k+4|0;f=c[j>>2]|0;if(!f){n=c[k>>2]|0;if(!n){u=0;break}else{v=n;w=k}}else{v=f;w=j}while(1){j=v+20|0;f=c[j>>2]|0;if(f|0){v=f;w=j;continue}j=v+16|0;f=c[j>>2]|0;if(!f)break;else{v=f;w=j}}if(w>>>0<b>>>0)$a();else{c[w>>2]=0;u=v;break}}else{j=c[d+8>>2]|0;if(j>>>0<b>>>0)$a();f=j+12|0;if((c[f>>2]|0)!=(d|0))$a();k=e+8|0;if((c[k>>2]|0)==(d|0)){c[f>>2]=e;c[k>>2]=j;u=e;break}else $a()}while(0);if(o|0){e=c[d+28>>2]|0;h=12536+(e<<2)|0;do if((d|0)==(c[h>>2]|0)){c[h>>2]=u;if(!u){c[3059]=c[3059]&~(1<<e);break b}}else if(o>>>0>=(c[3062]|0)>>>0){c[o+16+(((c[o+16>>2]|0)!=(d|0)&1)<<2)>>2]=u;if(!u)break b;else break}else $a();while(0);e=c[3062]|0;if(u>>>0<e>>>0)$a();c[u+24>>2]=o;h=d+16|0;g=c[h>>2]|0;do if(g|0)if(g>>>0<e>>>0)$a();else{c[u+16>>2]=g;c[g+24>>2]=u;break}while(0);g=c[h+4>>2]|0;if(g|0)if(g>>>0<(c[3062]|0)>>>0)$a();else{c[u+20>>2]=g;c[g+24>>2]=u;break}}}else{g=c[d+8>>2]|0;e=c[d+12>>2]|0;o=12272+(t<<1<<2)|0;if((g|0)!=(o|0)){if(g>>>0<b>>>0)$a();if((c[g+12>>2]|0)!=(d|0))$a()}if((e|0)==(g|0)){c[3058]=c[3058]&~(1<<t);break}if((e|0)!=(o|0)){if(e>>>0<b>>>0)$a();o=e+8|0;if((c[o>>2]|0)==(d|0))x=o;else $a()}else x=e+8|0;c[g+12>>2]=e;c[x>>2]=g}while(0);c[l+4>>2]=s|1;c[l+s>>2]=s;if((l|0)==(c[3063]|0)){c[3060]=s;return}else y=s}else{c[a>>2]=r&-2;c[l+4>>2]=m|1;c[l+m>>2]=m;y=m}m=y>>>3;if(y>>>0<256){r=12272+(m<<1<<2)|0;a=c[3058]|0;s=1<<m;if(a&s){m=r+8|0;x=c[m>>2]|0;if(x>>>0<(c[3062]|0)>>>0)$a();else{z=m;A=x}}else{c[3058]=a|s;z=r+8|0;A=r}c[z>>2]=l;c[A+12>>2]=l;c[l+8>>2]=A;c[l+12>>2]=r;return}r=y>>>8;if(r)if(y>>>0>16777215)B=31;else{A=(r+1048320|0)>>>16&8;z=r<<A;r=(z+520192|0)>>>16&4;s=z<<r;z=(s+245760|0)>>>16&2;a=14-(r|A|z)+(s<<z>>>15)|0;B=y>>>(a+7|0)&1|a<<1}else B=0;a=12536+(B<<2)|0;c[l+28>>2]=B;c[l+20>>2]=0;c[l+16>>2]=0;z=c[3059]|0;s=1<<B;if(!(z&s)){c[3059]=z|s;c[a>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;return}s=y<<((B|0)==31?0:25-(B>>>1)|0);B=c[a>>2]|0;while(1){if((c[B+4>>2]&-8|0)==(y|0)){C=121;break}D=B+16+(s>>>31<<2)|0;a=c[D>>2]|0;if(!a){C=118;break}else{s=s<<1;B=a}}if((C|0)==118){if(D>>>0<(c[3062]|0)>>>0)$a();c[D>>2]=l;c[l+24>>2]=B;c[l+12>>2]=l;c[l+8>>2]=l;return}else if((C|0)==121){C=B+8|0;D=c[C>>2]|0;s=c[3062]|0;if(!(D>>>0>=s>>>0&B>>>0>=s>>>0))$a();c[D+12>>2]=l;c[C>>2]=l;c[l+8>>2]=D;c[l+12>>2]=B;c[l+24>>2]=0;return}}function Pg(){}function Qg(a){a=a|0}function Rg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (D=e,a-c>>>0|0)|0}function Sg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}g=f&-4|0;h=g-64|0;i=d|d<<8|d<<16|d<<24;while((b|0)<=(h|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return f-e|0}function Tg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (D=b+d+(e>>>0<a>>>0|0)>>>0,e|0)|0}function Ug(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;q=q+1|0;c[a>>2]=q;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=q;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;D=e;return d|0}f=f+1|0}e=e*2|0;d=Mg(d|0,8*(e+1|0)|0)|0;d=Ug(a|0,b|0,d|0,e|0)|0;D=e;return d|0}function Vg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}D=0;return b>>>c-32|0}function Wg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;while((e|0)<(d|0)){f=c[b+(e<<3)>>2]|0;if(!f)break;if((f|0)==(a|0))return c[b+((e<<3)+4)>>2]|0;e=e+1|0}return 0}function Xg(a,b){a=a|0;b=b|0}function Yg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return La(b|0,d|0,e|0)|0;f=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}h=g&-4|0;e=h-64|0;while((b|0)<=(e|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(h|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{h=g-4|0;while((b|0)<(h|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return f|0}function Zg(b){b=b|0;var c=0;c=a[n+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[n+(b>>>24)>>0]|0)+24|0}function _g(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0;g=a;h=b;i=h;j=d;k=e;l=k;if(!i){m=(f|0)!=0;if(!l){if(m){c[f>>2]=(g>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (D=n,o)|0}else{if(!m){n=0;o=0;return (D=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;o=0;return (D=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(V(l|0)|0)-(V(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<<r;v=i>>>(q>>>0)&s;w=0;x=g<<r;break}if(!f){n=0;o=0;return (D=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (D=n,o)|0}r=j-1|0;if(r&j|0){s=(V(j|0)|0)+33-(V(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<<p|g>>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<<q&y;x=(i<<q|g>>>(z>>>0))&y|g<<p&s-33>>31;break}if(f|0){c[f>>2]=r&g;c[f+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (D=n,o)|0}else{r=Zg(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (D=n,o)|0}}else{if(m){if(f|0){c[f>>2]=(i>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (D=n,o)|0}if(!g){if(f|0){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (D=n,o)|0}r=l-1|0;if(!(r&l)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=r&i|b&0}n=0;o=i>>>((Zg(l|0)|0)>>>0);return (D=n,o)|0}r=(V(l|0)|0)-(V(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<<p|g>>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<<p;break}if(!f){n=0;o=0;return (D=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (D=n,o)|0}while(0);if(!t){B=x;C=w;E=v;F=u;G=0;H=0}else{b=d|0|0;d=k|e&0;e=Tg(b|0,d|0,-1,-1)|0;k=D;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;Rg(e|0,k|0,g|0,a|0)|0;i=D;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=Rg(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&d|0)|0;w=D;u=u-1|0}while((u|0)!=0);B=h;C=x;E=w;F=v;G=0;H=t}t=C;C=0;if(f|0){c[f>>2]=F;c[f+4>>2]=E}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|G;o=(t<<1|0>>>31)&-2|H;return (D=n,o)|0}function $g(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return _g(a,b,c,d,0)|0}function ah(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}D=a<<c-32;return 0}function bh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+16|0;g=f|0;_g(a,b,d,e,g)|0;l=f;return (D=c[g+4>>2]|0,c[g>>2]|0)|0}function ch(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function dh(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+15&-16|0;b=Z()|0;do{e=kb(c,i>>2)|0;f=e+a|0;if((a|0)>0&(f|0)<(e|0)|(f|0)<0|(f|0)>(b|0))_()|0;d=nb(c,i>>2,e|0,f|0)|0}while((d|0)!=(e|0));return e|0}function eh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ub[a&7](b|0,c|0,d|0)|0}function fh(a){a=a|0;return vb[a&1]()|0}function gh(a,b){a=a|0;b=b|0;wb[a&15](b|0)}function hh(a,b,c){a=a|0;b=b|0;c=c|0;xb[a&1](b|0,c|0)}function ih(a,b){a=a|0;b=b|0;return yb[a&7](b|0)|0}function jh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;zb[a&1](b|0,c|0,d|0)}function kh(a){a=a|0;Ab[a&7]()}function lh(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Bb[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function mh(a,b,c){a=a|0;b=b|0;c=c|0;return Cb[a&15](b|0,c|0)|0}function nh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Db[a&3](b|0,c|0,d|0,e|0,f|0)|0}function oh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Eb[a&31](b|0,c|0,d|0,e|0)}function ph(a,b,c){a=a|0;b=b|0;c=c|0;W(0);return 0}function qh(){W(1);return 0}function rh(a){a=a|0;W(2)}function sh(a,b){a=a|0;b=b|0;W(3)}function th(a){a=a|0;W(4);return 0}function uh(a,b,c){a=a|0;b=b|0;c=c|0;W(5)}function vh(){W(6)}function wh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;W(7)}function xh(a,b){a=a|0;b=b|0;W(8);return 0}function yh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;W(9);return 0}function zh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;W(10)}
function Fb(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;return b|0}function Gb(){return l|0}function Hb(a){a=a|0;l=a}function Ib(a,b){a=a|0;b=b|0;l=a;m=b}function Jb(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function Kb(a){a=a|0;D=a}function Lb(){return D|0}function Mb(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;if((f|0)==10)if((a|0)!=0&(b|0)!=0)if((c[b+4>>2]|0)==5){f=c[b+8>>2]|0;if((!((e&65536|0)!=0&(f&262144|0)==0)?!((e&131072|0)!=0&(f&524288|0)==0):0)?!((f&1|0)==0|(e&262144|0)!=0&(f&1048576|0)==0):0){f=a+8|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[a+4>>2]=b;c[a>>2]=c[b>>2];f=a+24|0;c[f>>2]=0;c[a+16>>2]=e;c[a+20>>2]=d;d=Cb[c[b+12>>2]&15](a,0)|0;if(!d)g=0;else{b=c[f>>2]|0;if(!b)h=0;else h=c[b>>2]|0;c[a+12>>2]=h;Pb(a)|0;g=d}}else g=4}else g=3;else{i=8;j=11}else{i=3;j=11}if((j|0)==11)if(!a){k=i;return k|0}else g=i;c[a+8>>2]=g;k=g;return k|0}function Nb(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;if(!a){g=8;return g|0}if((b|0)==0^(d|0)!=0){h=c[a+4>>2]|0;if((h|0)!=0?(i=c[a+24>>2]|0,(i|0)!=0):0)j=Db[c[h+32>>2]&3](i,b,d,e,f)|0;else j=1}else j=8;c[a+8>>2]=j;g=j;return g|0}function Ob(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(!((a|0)!=0&(b|0)!=0)){d=0;return d|0}e=c[a+4>>2]|0;if(!e){d=0;return d|0}f=c[a+24>>2]|0;if(!f){d=0;return d|0}d=Cb[c[e+36>>2]&15](f,b)|0;return d|0}function Pb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if(!a){b=8;return b|0}d=a+4|0;e=c[d>>2]|0;if((e|0)!=0?(f=a+24|0,g=c[f>>2]|0,(g|0)!=0):0){yb[c[e+16>>2]&7](g)|0;c[d>>2]=0;c[a>>2]=0;c[f>>2]=0;h=0}else h=1;c[a+8>>2]=h;b=h;return b|0}function Qb(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=l;l=l+16|0;h=g;c[b>>2]=d;d=b+4|0;c[d>>2]=0;if(e|0){c[d>>2]=1;c[h>>2]=f;Ne(b+8|0,79,e,h)|0;a[b+87>>0]=0}if(!(c[b+88>>2]|0)){l=g;return}else wa(b+92|0,c[b>>2]|0)}function Rb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Tg(a|0,0,3,0)|0;e=Tg(d|0,D|0,b|0,0)|0;b=D;if(!((b>>>0<0|(b|0)==0&e>>>0<2147418113)&((e|0)==(e|0)&(b|0)==0))){f=0;return f|0}b=Kg(e)|0;e=a+-1+(b+4)&0-a;if(!b){f=0;return f|0}c[e+-4>>2]=b;f=e;return f|0}function Sb(a){a=a|0;var b=0,d=0;b=Tg(a|0,0,11,0)|0;a=D;if(!((a>>>0<0|(a|0)==0&b>>>0<2147418113)&((b|0)==(b|0)&(a|0)==0))){d=0;return d|0}a=Kg(b)|0;b=a+4+7&-8;if(!a){d=0;return d|0}c[b+-4>>2]=a;d=b;return d|0}function Tb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if(a|0?(d=S(b,a)|0,e=(a|0)==0,f=$g(2147418112,0,a|0,0)|0,g=D,(e?0:((d>>>0)/((e?1:a)>>>0)|0|0)!=(b|0))|(g>>>0<0|(g|0)==0&f>>>0<b>>>0)):0){h=0;return h|0}f=S(b,a)|0;a=Tg(f|0,0,11,0)|0;b=D;if(!((b>>>0<0|(b|0)==0&a>>>0<2147418113)&((a|0)==(a|0)&(b|0)==0))){h=0;return h|0}b=Kg(a)|0;a=b+4+7&-8;g=a;if(!b){h=0;return h|0}c[g+-4>>2]=b;if(!a){h=0;return h|0}Sg(g|0,0,f|0)|0;h=g;return h|0}function Ub(a){a=a|0;if(!a)return;Lg(c[a+-4>>2]|0);return}function Vb(a){a=a|0;var b=0,d=0;if(!a){b=-1;return b|0}if((c[a+72>>2]|0)>0)Ub(c[a+68>>2]|0);d=a;a=d+120|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));b=0;return b|0}function Wb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!a){f=-2;return f|0}g=b+15&-16;h=d+15&-16;i=e<<1;j=g+31+i&-32;k=S(j,h+i|0)|0;i=g>>1;l=h>>1;m=j>>1;n=S(m,l+e|0)|0;o=(n<<1)+k|0;p=a+68|0;q=c[p>>2]|0;if(!q){r=Rb(32,o)|0;c[p>>2]=r;c[a+72>>2]=o;if(!r){f=-1;return f|0}else s=r}else if((c[a+72>>2]|0)<(o|0)){f=-1;return f|0}else s=q;if(e&31|0){f=-3;return f|0}c[a+8>>2]=b;c[a+12>>2]=d;c[a>>2]=g;c[a+4>>2]=h;c[a+16>>2]=j;c[a+28>>2]=(b+1|0)/2|0;c[a+32>>2]=(d+1|0)/2|0;c[a+20>>2]=i;c[a+24>>2]=l;c[a+36>>2]=m;c[a+40>>2]=0;c[a+44>>2]=0;c[a+48>>2]=0;c[a+76>>2]=e;c[a+80>>2]=o;c[a+52>>2]=s+(S(j,e)|0)+e;j=s+k|0;k=(e|0)/2|0;e=S(m,k)|0;c[a+56>>2]=j+e+k;c[a+60>>2]=j+n+e+k;c[a+64>>2]=0;c[a+112>>2]=0;f=0;return f|0}function Xb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(!a){f=-2;return f|0}if((c[a+72>>2]|0)>0)Ub(c[a+68>>2]|0);g=a;h=g+120|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f=Wb(a,b,d,e)|0;return f|0}function Yb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=c[b+76>>2]|0;e=(d|0)/2|0;f=c[b+52>>2]|0;g=c[b+16>>2]|0;h=c[b+8>>2]|0;i=c[b+12>>2]|0;j=d-i+(c[b+4>>2]|0)|0;k=(c[b>>2]|0)+d|0;l=k-h|0;m=k+d|0;k=f+h|0;h=0-d|0;n=f+h|0;if((i|0)>0){o=n;p=k;q=0;r=f;s=k+-1|0;while(1){Sg(o|0,a[r>>0]|0,d|0)|0;Sg(p|0,a[s>>0]|0,l|0)|0;q=q+1|0;if((q|0)==(i|0))break;else{o=o+g|0;p=p+g|0;r=r+g|0;s=s+g|0}}}s=f+(S(i+-1|0,g)|0)+h|0;r=f+(S(i,g)|0)+h|0;if((d|0)>0){i=f+(S(g,h)|0)+h|0;h=0;while(1){Yg(i|0,n|0,m|0)|0;h=h+1|0;if((h|0)==(d|0))break;else i=i+g|0}}if((j|0)>0){i=r;r=0;while(1){Yg(i|0,s|0,m|0)|0;r=r+1|0;if((r|0)==(j|0))break;else i=i+g|0}}g=c[b+56>>2]|0;i=b+36|0;j=c[i>>2]|0;r=b+28|0;m=c[r>>2]|0;s=b+32|0;h=c[s>>2]|0;n=b+24|0;f=e-h+(c[n>>2]|0)|0;p=b+20|0;o=(c[p>>2]|0)+e|0;q=o-m|0;l=o+e|0;o=g+m|0;m=0-e|0;k=g+m|0;if((h|0)>0){t=k;u=o;v=0;w=g;x=o+-1|0;while(1){Sg(t|0,a[w>>0]|0,e|0)|0;Sg(u|0,a[x>>0]|0,q|0)|0;v=v+1|0;if((v|0)==(h|0))break;else{t=t+j|0;u=u+j|0;w=w+j|0;x=x+j|0}}}x=g+(S(h+-1|0,j)|0)+m|0;w=g+(S(h,j)|0)+m|0;h=(d|0)>1;if(h){d=g+(S(j,m)|0)+m|0;g=0;while(1){Yg(d|0,k|0,l|0)|0;g=g+1|0;if((g|0)==(e|0))break;else d=d+j|0}}if((f|0)>0){d=w;w=0;while(1){Yg(d|0,x|0,l|0)|0;w=w+1|0;if((w|0)==(f|0))break;else d=d+j|0}}j=c[b+60>>2]|0;b=c[i>>2]|0;i=c[r>>2]|0;r=c[s>>2]|0;s=e-r+(c[n>>2]|0)|0;n=(c[p>>2]|0)+e|0;p=n-i|0;d=n+e|0;n=j+i|0;i=j+m|0;if((r|0)>0){f=i;w=n;l=0;x=j;g=n+-1|0;while(1){Sg(f|0,a[x>>0]|0,e|0)|0;Sg(w|0,a[g>>0]|0,p|0)|0;l=l+1|0;if((l|0)==(r|0))break;else{f=f+b|0;w=w+b|0;x=x+b|0;g=g+b|0}}}g=j+(S(r+-1|0,b)|0)+m|0;x=j+(S(r,b)|0)+m|0;if(h){h=j+(S(b,m)|0)+m|0;m=0;while(1){Yg(h|0,i|0,d|0)|0;m=m+1|0;if((m|0)==(e|0))break;else h=h+b|0}}if((s|0)>0){y=x;z=0}else return;while(1){Yg(y|0,g|0,d|0)|0;z=z+1|0;if((z|0)==(s|0))break;else y=y+b|0}return}function Zb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=a+4|0;if((c[d>>2]|0)>0){e=a+16|0;f=b+16|0;g=c[b+52>>2]|0;h=0;i=c[a+52>>2]|0;while(1){Yg(g|0,i|0,c[a>>2]|0)|0;h=h+1|0;if((h|0)>=(c[d>>2]|0))break;else{g=g+(c[f>>2]|0)|0;i=i+(c[e>>2]|0)|0}}}e=a+24|0;if((c[e>>2]|0)<=0){Yb(b);return}i=a+20|0;f=a+36|0;g=b+36|0;d=c[b+56>>2]|0;h=0;j=c[a+56>>2]|0;while(1){Yg(d|0,j|0,c[i>>2]|0)|0;h=h+1|0;k=c[e>>2]|0;if((h|0)>=(k|0))break;else{d=d+(c[g>>2]|0)|0;j=j+(c[f>>2]|0)|0}}if((k|0)<=0){Yb(b);return}k=a+20|0;f=a+36|0;j=b+36|0;g=c[b+60>>2]|0;d=0;h=c[a+60>>2]|0;while(1){Yg(g|0,h|0,c[k>>2]|0)|0;d=d+1|0;if((d|0)>=(c[e>>2]|0))break;else{g=g+(c[j>>2]|0)|0;h=h+(c[f>>2]|0)|0}}Yb(b);return}function _b(){xg(9640,1)|0;return}function $b(){return}function ac(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0;f=d[e>>0]|0;g=d[e+1>>0]|0;h=d[e+2>>0]|0;i=d[e+3>>0]|0;Sg(a|0,((d[c+-1>>0]|0)+2+(f<<1)+g|0)>>>2&255|0,4)|0;Sg(a+b|0,(f+2+(g<<1)+h|0)>>>2&255|0,4)|0;Sg(a+(b<<1)|0,(g+2+(h<<1)+i|0)>>>2&255|0,4)|0;Sg(a+(b*3|0)|0,(h+2+i+(i<<1)|0)>>>2&255|0,4)|0;return}function bc(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;f=d[e>>0]|0;g=d[e+1>>0]|0;h=d[e+2>>0]|0;i=d[e+3>>0]|0;j=d[e+4>>0]|0;a[b>>0]=((d[e+-1>>0]|0)+2+(f<<1)+g|0)>>>2;a[b+1>>0]=(f+2+(g<<1)+h|0)>>>2;a[b+2>>0]=(g+2+(h<<1)+i|0)>>>2;a[b+3>>0]=(h+2+(i<<1)+j|0)>>>2;j=b+c|0;i=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;a[j>>0]=i;a[j+1>>0]=i>>8;a[j+2>>0]=i>>16;a[j+3>>0]=i>>24;i=b+(c<<1)|0;j=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;j=b+(c*3|0)|0;c=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;a[j>>0]=c;a[j+1>>0]=c>>8;a[j+2>>0]=c>>16;a[j+3>>0]=c>>24;return}function cc(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;e=d[f>>0]|0;g=d[f+1>>0]|0;h=d[f+2>>0]|0;i=a[f+3>>0]|0;f=i&255;a[b>>0]=(e+1+g|0)>>>1;j=(g+1+h|0)>>>1&255;a[b+c>>0]=j;a[b+2>>0]=j;j=(h+1+f|0)>>>1&255;k=c<<1;a[b+k>>0]=j;a[b+(c+2)>>0]=j;a[b+1>>0]=(e+2+(g<<1)+h|0)>>>2;e=(g+2+(h<<1)+f|0)>>>2&255;a[b+(c+1)>>0]=e;a[b+3>>0]=e;e=(h+2+f+(f<<1)|0)>>>2&255;a[b+(k|1)>>0]=e;a[b+(c+3)>>0]=e;e=c*3|0;a[b+(e+3)>>0]=i;a[b+(e+2)>>0]=i;a[b+(e+1)>>0]=i;a[b+e>>0]=i;a[b+(k+2)>>0]=i;a[b+(k+3)>>0]=i;return}function dc(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=d[e>>0]|0;g=d[e+1>>0]|0;h=d[e+2>>0]|0;i=d[e+3>>0]|0;j=d[e+4>>0]|0;k=d[e+5>>0]|0;l=d[e+6>>0]|0;m=d[e+7>>0]|0;a[b>>0]=(f+1+g|0)>>>1;e=(g+1+h|0)>>>1&255;n=c<<1;a[b+n>>0]=e;a[b+1>>0]=e;e=(h+1+i|0)>>>1&255;a[b+(n|1)>>0]=e;a[b+2>>0]=e;e=(i+1+j|0)>>>1&255;a[b+(n+2)>>0]=e;a[b+3>>0]=e;a[b+(n+3)>>0]=(j+2+(k<<1)+l|0)>>>2;a[b+c>>0]=(f+2+(g<<1)+h|0)>>>2;f=(g+2+(h<<1)+i|0)>>>2&255;g=c*3|0;a[b+g>>0]=f;a[b+(c+1)>>0]=f;f=(h+2+(i<<1)+j|0)>>>2&255;a[b+(g+1)>>0]=f;a[b+(c+2)>>0]=f;f=(i+2+(j<<1)+k|0)>>>2&255;a[b+(g+2)>>0]=f;a[b+(c+3)>>0]=f;a[b+(g+3)>>0]=(k+2+(l<<1)+m|0)>>>2;return}function ec(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;f=d[e+1>>0]|0;g=d[e+2>>0]|0;h=d[e+3>>0]|0;i=d[e+4>>0]|0;j=d[e+5>>0]|0;k=d[e+6>>0]|0;l=d[e+7>>0]|0;a[b>>0]=((d[e>>0]|0)+2+(f<<1)+g|0)>>>2;e=(f+2+(g<<1)+h|0)>>>2&255;a[b+c>>0]=e;a[b+1>>0]=e;e=(g+2+(h<<1)+i|0)>>>2&255;g=c<<1;a[b+g>>0]=e;a[b+(c+1)>>0]=e;a[b+2>>0]=e;e=(h+2+(i<<1)+j|0)>>>2&255;h=c*3|0;a[b+h>>0]=e;a[b+(g|1)>>0]=e;a[b+(c+2)>>0]=e;a[b+3>>0]=e;e=(i+2+(j<<1)+k|0)>>>2&255;a[b+(h+1)>>0]=e;a[b+(g+2)>>0]=e;a[b+(c+3)>>0]=e;e=(j+2+(k<<1)+l|0)>>>2&255;a[b+(h+2)>>0]=e;a[b+(g+3)>>0]=e;a[b+(h+3)>>0]=(k+2+l+(l<<1)|0)>>>2;return}function fc(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=d[f>>0]|0;h=d[f+1>>0]|0;i=d[f+2>>0]|0;f=d[e+-1>>0]|0;j=d[e>>0]|0;k=d[e+1>>0]|0;l=d[e+2>>0]|0;m=d[e+3>>0]|0;e=(f+1+j|0)>>>1&255;n=c<<1;a[b+(n|1)>>0]=e;a[b>>0]=e;e=(j+1+k|0)>>>1&255;a[b+(n+2)>>0]=e;a[b+1>>0]=e;e=(k+1+l|0)>>>1&255;a[b+(n+3)>>0]=e;a[b+2>>0]=e;a[b+3>>0]=(l+1+m|0)>>>1;e=g+2|0;o=c*3|0;a[b+o>>0]=(e+(h<<1)+i|0)>>>2;a[b+n>>0]=((g<<1)+2+h+f|0)>>>2;h=(e+(f<<1)+j|0)>>>2&255;a[b+(o+1)>>0]=h;a[b+c>>0]=h;h=(f+2+(j<<1)+k|0)>>>2&255;a[b+(o+2)>>0]=h;a[b+(c+1)>>0]=h;h=(j+2+(k<<1)+l|0)>>>2&255;a[b+(o+3)>>0]=h;a[b+(c+2)>>0]=h;a[b+(c+3)>>0]=(k+2+(l<<1)+m|0)>>>2;return}function gc(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=d[f>>0]|0;h=d[f+1>>0]|0;i=d[f+2>>0]|0;j=d[e+-1>>0]|0;k=d[e>>0]|0;l=d[e+1>>0]|0;m=d[e+2>>0]|0;n=d[e+3>>0]|0;e=c*3|0;a[b+e>>0]=(h+2+(i<<1)+(d[f+3>>0]|0)|0)>>>2;f=g+2|0;o=(f+(h<<1)+i|0)>>>2&255;i=c<<1;a[b+i>>0]=o;a[b+(e+1)>>0]=o;o=((g<<1)+2+h+j|0)>>>2&255;a[b+c>>0]=o;a[b+(i|1)>>0]=o;a[b+(e+2)>>0]=o;o=(f+(j<<1)+k|0)>>>2&255;a[b>>0]=o;a[b+(c+1)>>0]=o;a[b+(i+2)>>0]=o;a[b+(e+3)>>0]=o;o=(j+2+(k<<1)+l|0)>>>2&255;a[b+1>>0]=o;a[b+(c+2)>>0]=o;a[b+(i+3)>>0]=o;o=(k+2+(l<<1)+m|0)>>>2&255;a[b+2>>0]=o;a[b+(c+3)>>0]=o;a[b+3>>0]=(l+2+(m<<1)+n|0)>>>2;return}function hc(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=d[f>>0]|0;h=d[f+1>>0]|0;i=d[f+2>>0]|0;j=d[f+3>>0]|0;f=d[e+-1>>0]|0;k=d[e>>0]|0;l=d[e+1>>0]|0;m=d[e+2>>0]|0;e=g+1|0;n=(e+f|0)>>>1&255;a[b+(c+2)>>0]=n;a[b>>0]=n;n=(e+h|0)>>>1&255;e=c<<1;a[b+(e+2)>>0]=n;a[b+c>>0]=n;n=(h+1+i|0)>>>1&255;o=c*3|0;a[b+(o+2)>>0]=n;a[b+e>>0]=n;a[b+o>>0]=(i+1+j|0)>>>1;a[b+3>>0]=(k+2+(l<<1)+m|0)>>>2;a[b+2>>0]=(f+2+(k<<1)+l|0)>>>2;l=g+2|0;m=(l+(f<<1)+k|0)>>>2&255;a[b+(c+3)>>0]=m;a[b+1>>0]=m;m=((g<<1)+2+h+f|0)>>>2&255;a[b+(e+3)>>0]=m;a[b+(c+1)>>0]=m;m=(l+(h<<1)+i|0)>>>2&255;a[b+(o+3)>>0]=m;a[b+(e|1)>>0]=m;a[b+(o+1)>>0]=(h+2+(i<<1)+j|0)>>>2;return}function ic(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;f=e;g=f;h=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;g=f+4|0;f=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;g=b;i=g;a[i>>0]=h;a[i+1>>0]=h>>8;a[i+2>>0]=h>>16;a[i+3>>0]=h>>24;h=g+4|0;a[h>>0]=f;a[h+1>>0]=f>>8;a[h+2>>0]=f>>16;a[h+3>>0]=f>>24;f=b+c|0;b=e;h=b;g=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;h=b+4|0;b=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;h=f;i=h;a[i>>0]=g;a[i+1>>0]=g>>8;a[i+2>>0]=g>>16;a[i+3>>0]=g>>24;g=h+4|0;a[g>>0]=b;a[g+1>>0]=b>>8;a[g+2>>0]=b>>16;a[g+3>>0]=b>>24;b=f+c|0;f=e;g=f;h=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;g=f+4|0;f=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;g=b;i=g;a[i>>0]=h;a[i+1>>0]=h>>8;a[i+2>>0]=h>>16;a[i+3>>0]=h>>24;h=g+4|0;a[h>>0]=f;a[h+1>>0]=f>>8;a[h+2>>0]=f>>16;a[h+3>>0]=f>>24;f=b+c|0;b=e;h=b;g=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;h=b+4|0;b=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;h=f;i=h;a[i>>0]=g;a[i+1>>0]=g>>8;a[i+2>>0]=g>>16;a[i+3>>0]=g>>24;g=h+4|0;a[g>>0]=b;a[g+1>>0]=b>>8;a[g+2>>0]=b>>16;a[g+3>>0]=b>>24;b=f+c|0;f=e;g=f;h=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;g=f+4|0;f=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;g=b;i=g;a[i>>0]=h;a[i+1>>0]=h>>8;a[i+2>>0]=h>>16;a[i+3>>0]=h>>24;h=g+4|0;a[h>>0]=f;a[h+1>>0]=f>>8;a[h+2>>0]=f>>16;a[h+3>>0]=f>>24;f=b+c|0;b=e;h=b;g=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;h=b+4|0;b=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;h=f;i=h;a[i>>0]=g;a[i+1>>0]=g>>8;a[i+2>>0]=g>>16;a[i+3>>0]=g>>24;g=h+4|0;a[g>>0]=b;a[g+1>>0]=b>>8;a[g+2>>0]=b>>16;a[g+3>>0]=b>>24;b=f+c|0;f=e;g=f;h=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;g=f+4|0;f=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;g=b;i=g;a[i>>0]=h;a[i+1>>0]=h>>8;a[i+2>>0]=h>>16;a[i+3>>0]=h>>24;h=g+4|0;a[h>>0]=f;a[h+1>>0]=f>>8;a[h+2>>0]=f>>16;a[h+3>>0]=f>>24;f=e;e=f;h=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;e=f+4|0;f=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;e=b+c|0;c=e;a[c>>0]=h;a[c+1>>0]=h>>8;a[c+2>>0]=h>>16;a[c+3>>0]=h>>24;h=e+4|0;a[h>>0]=f;a[h+1>>0]=f>>8;a[h+2>>0]=f>>16;a[h+3>>0]=f>>24;return}function jc(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;e=b;f=d;g=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));h=b+c|0;e=h;f=d;g=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));b=h+c|0;e=b;f=d;g=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));h=b+c|0;e=h;f=d;g=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));b=h+c|0;e=b;f=d;g=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));h=b+c|0;e=h;f=d;g=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));b=h+c|0;e=b;f=d;g=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));h=b+c|0;e=h;f=d;g=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));b=h+c|0;e=b;f=d;g=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));h=b+c|0;e=h;f=d;g=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));b=h+c|0;e=b;f=d;g=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));h=b+c|0;e=h;f=d;g=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));b=h+c|0;e=b;f=d;g=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));h=b+c|0;e=h;f=d;g=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));b=h+c|0;e=b;f=d;g=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));e=b+c|0;f=d;g=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));return}function kc(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;Sg(b|0,a[e>>0]|0,8)|0;d=b+c|0;Sg(d|0,a[e+1>>0]|0,8)|0;b=d+c|0;Sg(b|0,a[e+2>>0]|0,8)|0;d=b+c|0;Sg(d|0,a[e+3>>0]|0,8)|0;b=d+c|0;Sg(b|0,a[e+4>>0]|0,8)|0;d=b+c|0;Sg(d|0,a[e+5>>0]|0,8)|0;b=d+c|0;Sg(b|0,a[e+6>>0]|0,8)|0;Sg(b+c|0,a[e+7>>0]|0,8)|0;return}function lc(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;Sg(b|0,a[e>>0]|0,16)|0;d=b+c|0;Sg(d|0,a[e+1>>0]|0,16)|0;b=d+c|0;Sg(b|0,a[e+2>>0]|0,16)|0;d=b+c|0;Sg(d|0,a[e+3>>0]|0,16)|0;b=d+c|0;Sg(b|0,a[e+4>>0]|0,16)|0;d=b+c|0;Sg(d|0,a[e+5>>0]|0,16)|0;b=d+c|0;Sg(b|0,a[e+6>>0]|0,16)|0;d=b+c|0;Sg(d|0,a[e+7>>0]|0,16)|0;b=d+c|0;Sg(b|0,a[e+8>>0]|0,16)|0;d=b+c|0;Sg(d|0,a[e+9>>0]|0,16)|0;b=d+c|0;Sg(b|0,a[e+10>>0]|0,16)|0;d=b+c|0;Sg(d|0,a[e+11>>0]|0,16)|0;b=d+c|0;Sg(b|0,a[e+12>>0]|0,16)|0;d=b+c|0;Sg(d|0,a[e+13>>0]|0,16)|0;b=d+c|0;Sg(b|0,a[e+14>>0]|0,16)|0;Sg(b+c|0,a[e+15>>0]|0,16)|0;return}function mc(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d[e+-1>>0]|0;h=e+1|0;i=e+2|0;j=e+3|0;k=b;b=0;while(1){l=f+b|0;m=(d[l>>0]|0)-g+(d[e>>0]|0)|0;a[k>>0]=(m|0)>255?-1:((m|0)>0?m:0)&255;m=(d[l>>0]|0)-g+(d[h>>0]|0)|0;a[k+1>>0]=(m|0)>255?-1:((m|0)>0?m:0)&255;m=(d[l>>0]|0)-g+(d[i>>0]|0)|0;a[k+2>>0]=(m|0)>255?-1:((m|0)>0?m:0)&255;m=(d[l>>0]|0)-g+(d[j>>0]|0)|0;a[k+3>>0]=(m|0)>255?-1:((m|0)>0?m:0)&255;b=b+1|0;if((b|0)==4)break;else k=k+c|0}return}function nc(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d[e+-1>>0]|0;h=e+1|0;i=e+2|0;j=e+3|0;k=e+4|0;l=e+5|0;m=e+6|0;n=e+7|0;o=b;b=0;while(1){p=f+b|0;q=(d[p>>0]|0)-g+(d[e>>0]|0)|0;a[o>>0]=(q|0)>255?-1:((q|0)>0?q:0)&255;q=(d[p>>0]|0)-g+(d[h>>0]|0)|0;a[o+1>>0]=(q|0)>255?-1:((q|0)>0?q:0)&255;q=(d[p>>0]|0)-g+(d[i>>0]|0)|0;a[o+2>>0]=(q|0)>255?-1:((q|0)>0?q:0)&255;q=(d[p>>0]|0)-g+(d[j>>0]|0)|0;a[o+3>>0]=(q|0)>255?-1:((q|0)>0?q:0)&255;q=(d[p>>0]|0)-g+(d[k>>0]|0)|0;a[o+4>>0]=(q|0)>255?-1:((q|0)>0?q:0)&255;q=(d[p>>0]|0)-g+(d[l>>0]|0)|0;a[o+5>>0]=(q|0)>255?-1:((q|0)>0?q:0)&255;q=(d[p>>0]|0)-g+(d[m>>0]|0)|0;a[o+6>>0]=(q|0)>255?-1:((q|0)>0?q:0)&255;q=(d[p>>0]|0)-g+(d[n>>0]|0)|0;a[o+7>>0]=(q|0)>255?-1:((q|0)>0?q:0)&255;b=b+1|0;if((b|0)==8)break;else o=o+c|0}return}function oc(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=d[e+-1>>0]|0;h=b;b=0;while(1){i=f+b|0;j=0;do{k=(d[i>>0]|0)-g+(d[e+j>>0]|0)|0;a[h+j>>0]=(k|0)>255?-1:((k|0)>0?k:0)&255;j=j+1|0}while((j|0)!=16);b=b+1|0;if((b|0)==16)break;else h=h+c|0}return}function pc(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;e=b;d=e;a[d>>0]=-2139062144;a[d+1>>0]=-2139062144>>8;a[d+2>>0]=-2139062144>>16;a[d+3>>0]=-2139062144>>24;d=e+4|0;a[d>>0]=-2139062144;a[d+1>>0]=-2139062144>>8;a[d+2>>0]=-2139062144>>16;a[d+3>>0]=-2139062144>>24;d=b+c|0;b=d;e=b;a[e>>0]=-2139062144;a[e+1>>0]=-2139062144>>8;a[e+2>>0]=-2139062144>>16;a[e+3>>0]=-2139062144>>24;e=b+4|0;a[e>>0]=-2139062144;a[e+1>>0]=-2139062144>>8;a[e+2>>0]=-2139062144>>16;a[e+3>>0]=-2139062144>>24;e=d+c|0;d=e;b=d;a[b>>0]=-2139062144;a[b+1>>0]=-2139062144>>8;a[b+2>>0]=-2139062144>>16;a[b+3>>0]=-2139062144>>24;b=d+4|0;a[b>>0]=-2139062144;a[b+1>>0]=-2139062144>>8;a[b+2>>0]=-2139062144>>16;a[b+3>>0]=-2139062144>>24;b=e+c|0;e=b;d=e;a[d>>0]=-2139062144;a[d+1>>0]=-2139062144>>8;a[d+2>>0]=-2139062144>>16;a[d+3>>0]=-2139062144>>24;d=e+4|0;a[d>>0]=-2139062144;a[d+1>>0]=-2139062144>>8;a[d+2>>0]=-2139062144>>16;a[d+3>>0]=-2139062144>>24;d=b+c|0;b=d;e=b;a[e>>0]=-2139062144;a[e+1>>0]=-2139062144>>8;a[e+2>>0]=-2139062144>>16;a[e+3>>0]=-2139062144>>24;e=b+4|0;a[e>>0]=-2139062144;a[e+1>>0]=-2139062144>>8;a[e+2>>0]=-2139062144>>16;a[e+3>>0]=-2139062144>>24;e=d+c|0;d=e;b=d;a[b>>0]=-2139062144;a[b+1>>0]=-2139062144>>8;a[b+2>>0]=-2139062144>>16;a[b+3>>0]=-2139062144>>24;b=d+4|0;a[b>>0]=-2139062144;a[b+1>>0]=-2139062144>>8;a[b+2>>0]=-2139062144>>16;a[b+3>>0]=-2139062144>>24;b=e+c|0;e=b;d=e;a[d>>0]=-2139062144;a[d+1>>0]=-2139062144>>8;a[d+2>>0]=-2139062144>>16;a[d+3>>0]=-2139062144>>24;d=e+4|0;a[d>>0]=-2139062144;a[d+1>>0]=-2139062144>>8;a[d+2>>0]=-2139062144>>16;a[d+3>>0]=-2139062144>>24;d=b+c|0;c=d;a[c>>0]=-2139062144;a[c+1>>0]=-2139062144>>8;a[c+2>>0]=-2139062144>>16;a[c+3>>0]=-2139062144>>24;c=d+4|0;a[c>>0]=-2139062144;a[c+1>>0]=-2139062144>>8;a[c+2>>0]=-2139062144>>16;a[c+3>>0]=-2139062144>>24;return}function qc(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;e=b;d=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(d|0));f=b+c|0;e=f;d=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(d|0));b=f+c|0;e=b;d=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(d|0));f=b+c|0;e=f;d=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(d|0));b=f+c|0;e=b;d=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(d|0));f=b+c|0;e=f;d=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(d|0));b=f+c|0;e=b;d=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(d|0));f=b+c|0;e=f;d=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(d|0));b=f+c|0;e=b;d=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(d|0));f=b+c|0;e=f;d=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(d|0));b=f+c|0;e=b;d=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(d|0));f=b+c|0;e=f;d=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(d|0));b=f+c|0;e=b;d=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(d|0));f=b+c|0;e=f;d=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(d|0));b=f+c|0;e=b;d=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(d|0));e=b+c|0;d=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(d|0));return}function rc(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;c=(((d[e+7>>0]|0)+((d[e+6>>0]|0)+((d[e+5>>0]|0)+((d[e+4>>0]|0)+((d[e+3>>0]|0)+((d[e+2>>0]|0)+((d[e+1>>0]|0)+(d[e>>0]|0)))))))+4|0)/8|0)&255;Sg(a|0,c|0,8)|0;e=a+b|0;Sg(e|0,c|0,8)|0;a=e+b|0;Sg(a|0,c|0,8)|0;e=a+b|0;Sg(e|0,c|0,8)|0;a=e+b|0;Sg(a|0,c|0,8)|0;e=a+b|0;Sg(e|0,c|0,8)|0;a=e+b|0;Sg(a|0,c|0,8)|0;Sg(a+b|0,c|0,8)|0;return}function sc(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;c=(((d[e+15>>0]|0)+((d[e+14>>0]|0)+((d[e+13>>0]|0)+((d[e+12>>0]|0)+((d[e+11>>0]|0)+((d[e+10>>0]|0)+((d[e+9>>0]|0)+((d[e+8>>0]|0)+((d[e+7>>0]|0)+((d[e+6>>0]|0)+((d[e+5>>0]|0)+((d[e+4>>0]|0)+((d[e+3>>0]|0)+((d[e+2>>0]|0)+((d[e+1>>0]|0)+(d[e>>0]|0)))))))))))))))+8|0)/16|0)&255;Sg(a|0,c|0,16)|0;e=a+b|0;Sg(e|0,c|0,16)|0;a=e+b|0;Sg(a|0,c|0,16)|0;e=a+b|0;Sg(e|0,c|0,16)|0;a=e+b|0;Sg(a|0,c|0,16)|0;e=a+b|0;Sg(e|0,c|0,16)|0;a=e+b|0;Sg(a|0,c|0,16)|0;e=a+b|0;Sg(e|0,c|0,16)|0;a=e+b|0;Sg(a|0,c|0,16)|0;e=a+b|0;Sg(e|0,c|0,16)|0;a=e+b|0;Sg(a|0,c|0,16)|0;e=a+b|0;Sg(e|0,c|0,16)|0;a=e+b|0;Sg(a|0,c|0,16)|0;e=a+b|0;Sg(e|0,c|0,16)|0;a=e+b|0;Sg(a|0,c|0,16)|0;Sg(a+b|0,c|0,16)|0;return}function tc(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;e=(((d[c+7>>0]|0)+((d[c+6>>0]|0)+((d[c+5>>0]|0)+((d[c+4>>0]|0)+((d[c+3>>0]|0)+((d[c+2>>0]|0)+((d[c+1>>0]|0)+(d[c>>0]|0)))))))+4|0)/8|0)&255;Sg(a|0,e|0,8)|0;c=a+b|0;Sg(c|0,e|0,8)|0;a=c+b|0;Sg(a|0,e|0,8)|0;c=a+b|0;Sg(c|0,e|0,8)|0;a=c+b|0;Sg(a|0,e|0,8)|0;c=a+b|0;Sg(c|0,e|0,8)|0;a=c+b|0;Sg(a|0,e|0,8)|0;Sg(a+b|0,e|0,8)|0;return}function uc(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;e=(((d[c+15>>0]|0)+((d[c+14>>0]|0)+((d[c+13>>0]|0)+((d[c+12>>0]|0)+((d[c+11>>0]|0)+((d[c+10>>0]|0)+((d[c+9>>0]|0)+((d[c+8>>0]|0)+((d[c+7>>0]|0)+((d[c+6>>0]|0)+((d[c+5>>0]|0)+((d[c+4>>0]|0)+((d[c+3>>0]|0)+((d[c+2>>0]|0)+((d[c+1>>0]|0)+(d[c>>0]|0)))))))))))))))+8|0)/16|0)&255;Sg(a|0,e|0,16)|0;c=a+b|0;Sg(c|0,e|0,16)|0;a=c+b|0;Sg(a|0,e|0,16)|0;c=a+b|0;Sg(c|0,e|0,16)|0;a=c+b|0;Sg(a|0,e|0,16)|0;c=a+b|0;Sg(c|0,e|0,16)|0;a=c+b|0;Sg(a|0,e|0,16)|0;c=a+b|0;Sg(c|0,e|0,16)|0;a=c+b|0;Sg(a|0,e|0,16)|0;c=a+b|0;Sg(c|0,e|0,16)|0;a=c+b|0;Sg(a|0,e|0,16)|0;c=a+b|0;Sg(c|0,e|0,16)|0;a=c+b|0;Sg(a|0,e|0,16)|0;c=a+b|0;Sg(c|0,e|0,16)|0;a=c+b|0;Sg(a|0,e|0,16)|0;Sg(a+b|0,e|0,16)|0;return}function vc(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var f=0;f=(((d[c+3>>0]|0)+((d[c+2>>0]|0)+((d[c+1>>0]|0)+((d[c>>0]|0)+(d[e>>0]|0))+(d[e+1>>0]|0))+(d[e+2>>0]|0))+(d[e+3>>0]|0)+4|0)/8|0)&255;Sg(a|0,f|0,4)|0;e=a+b|0;Sg(e|0,f|0,4)|0;a=e+b|0;Sg(a|0,f|0,4)|0;Sg(a+b|0,f|0,4)|0;return}function wc(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var f=0;f=(((d[c+7>>0]|0)+((d[c+6>>0]|0)+((d[c+5>>0]|0)+((d[c+4>>0]|0)+((d[c+3>>0]|0)+((d[c+2>>0]|0)+((d[c+1>>0]|0)+((d[c>>0]|0)+(d[e>>0]|0))+(d[e+1>>0]|0))+(d[e+2>>0]|0))+(d[e+3>>0]|0))+(d[e+4>>0]|0))+(d[e+5>>0]|0))+(d[e+6>>0]|0))+(d[e+7>>0]|0)+8|0)/16|0)&255;Sg(a|0,f|0,8)|0;e=a+b|0;Sg(e|0,f|0,8)|0;a=e+b|0;Sg(a|0,f|0,8)|0;e=a+b|0;Sg(e|0,f|0,8)|0;a=e+b|0;Sg(a|0,f|0,8)|0;e=a+b|0;Sg(e|0,f|0,8)|0;a=e+b|0;Sg(a|0,f|0,8)|0;Sg(a+b|0,f|0,8)|0;return}function xc(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var f=0;f=(((d[c+15>>0]|0)+((d[c+14>>0]|0)+((d[c+13>>0]|0)+((d[c+12>>0]|0)+((d[c+11>>0]|0)+((d[c+10>>0]|0)+((d[c+9>>0]|0)+((d[c+8>>0]|0)+((d[c+7>>0]|0)+((d[c+6>>0]|0)+((d[c+5>>0]|0)+((d[c+4>>0]|0)+((d[c+3>>0]|0)+((d[c+2>>0]|0)+((d[c+1>>0]|0)+((d[c>>0]|0)+(d[e>>0]|0))+(d[e+1>>0]|0))+(d[e+2>>0]|0))+(d[e+3>>0]|0))+(d[e+4>>0]|0))+(d[e+5>>0]|0))+(d[e+6>>0]|0))+(d[e+7>>0]|0))+(d[e+8>>0]|0))+(d[e+9>>0]|0))+(d[e+10>>0]|0))+(d[e+11>>0]|0))+(d[e+12>>0]|0))+(d[e+13>>0]|0))+(d[e+14>>0]|0))+(d[e+15>>0]|0)+16|0)/32|0)&255;Sg(a|0,f|0,16)|0;e=a+b|0;Sg(e|0,f|0,16)|0;a=e+b|0;Sg(a|0,f|0,16)|0;e=a+b|0;Sg(e|0,f|0,16)|0;a=e+b|0;Sg(a|0,f|0,16)|0;e=a+b|0;Sg(e|0,f|0,16)|0;a=e+b|0;Sg(a|0,f|0,16)|0;e=a+b|0;Sg(e|0,f|0,16)|0;a=e+b|0;Sg(a|0,f|0,16)|0;e=a+b|0;Sg(e|0,f|0,16)|0;a=e+b|0;Sg(a|0,f|0,16)|0;e=a+b|0;Sg(e|0,f|0,16)|0;a=e+b|0;Sg(a|0,f|0,16)|0;e=a+b|0;Sg(e|0,f|0,16)|0;a=e+b|0;Sg(a|0,f|0,16)|0;Sg(a+b|0,f|0,16)|0;return}function yc(){xg(9644,2)|0;return}function zc(){return}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=a+1816|0;Vb(e)|0;f=a+1936|0;Vb(f)|0;g=a+2056|0;Vb(g)|0;h=a+2176|0;Vb(h)|0;i=a+2328|0;Vb(i)|0;j=a+5940|0;Ub(c[j>>2]|0);k=a+2520|0;Ub(c[k>>2]|0);c[j>>2]=0;c[k>>2]=0;l=b&15;m=((l|0)==0?0:16-l|0)+b|0;b=d&15;l=((b|0)==0?0:16-b|0)+d|0;d=a+2296|0;c[d>>2]=0;c[a+1932>>2]=0;if(((((((Xb(e,m,l,32)|0)>=0?(b=a+2300|0,c[b>>2]=0,c[a+2052>>2]=0,(Xb(f,m,l,32)|0)>=0):0)?(n=a+2304|0,c[n>>2]=0,c[a+2172>>2]=0,(Xb(g,m,l,32)|0)>=0):0)?(o=a+2308|0,c[o>>2]=0,c[a+2292>>2]=0,(Xb(h,m,l,32)|0)>=0):0)?(c[a+2312>>2]=0,c[a+2316>>2]=1,c[a+2320>>2]=2,c[a+2324>>2]=3,c[d>>2]=1,c[b>>2]=1,c[n>>2]=1,c[o>>2]=1,(Xb(i,m,16,32)|0)>=0):0)?(o=l>>4,c[a+2468>>2]=o,l=m>>4,m=a+2472|0,c[m>>2]=l,c[a+2464>>2]=S(o,l)|0,n=l+1|0,l=a+2476|0,c[l>>2]=n,b=Tb(S(o+1|0,n)|0,76)|0,c[k>>2]=b,b|0):0)?(c[a+2524>>2]=b+((c[l>>2]|0)*76|0)+76,l=Tb((c[m>>2]|0)*9|0,1)|0,c[j>>2]=l,l|0):0){p=0;return p|0}Vb(e)|0;Vb(f)|0;Vb(g)|0;Vb(h)|0;Vb(i)|0;Ub(c[j>>2]|0);Ub(c[k>>2]|0);c[j>>2]=0;c[k>>2]=0;p=1;return p|0}function Bc(a){a=a|0;var b=0,d=0,e=0,f=0;switch(c[a+8184>>2]|0){case 0:{b=0;d=0;e=0;f=0;break}case 1:{b=0;d=1;e=1;f=0;break}case 2:{b=0;d=1;e=0;f=1;break}case 3:{b=1;d=1;e=1;f=1;break}default:{b=0;d=0;e=0;f=0}}c[a+2484>>2]=f;c[a+2532>>2]=e;c[a+2488>>2]=d;c[a+2492>>2]=b;return}function Cc(a){a=a|0;var b=0;Sc(a);Hc(a);Ic(a+7066|0);c[a+2480>>2]=1;c[a+2484>>2]=0;c[a+2532>>2]=0;c[a+2488>>2]=0;c[a+2492>>2]=0;c[a+8188>>2]=0;c[a+1808>>2]=0;b=a+5924|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[a+5912>>2]=0;c[a+5916>>2]=0;return}function Dc(a){a=a|0;var b=0,d=0;Vb(a+1816|0)|0;Vb(a+1936|0)|0;Vb(a+2056|0)|0;Vb(a+2176|0)|0;Vb(a+2328|0)|0;b=a+5940|0;Ub(c[b>>2]|0);d=a+2520|0;Ub(c[d>>2]|0);c[b>>2]=0;c[d>>2]=0;return}function Ec(a,d){a=a|0;d=d|0;var e=0,f=0;e=c[a+4>>2]|0;f=c[a>>2]|0;a=0;do{b[e+(a<<1)>>1]=S(b[d+(a<<1)>>1]|0,b[f+(a<<1)>>1]|0)|0;a=a+1|0}while((a|0)!=16);return}function Fc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=0;do{g=a+(f<<1)|0;b[g>>1]=S(b[g>>1]|0,b[c+(f<<1)>>1]|0)|0;f=f+1|0}while((f|0)!=16);Vc(a,d,e,d,e);e=a;a=e+32|0;do{b[e>>1]=0;e=e+2|0}while((e|0)<(a|0));return}function Gc(a){a=a|0;Yg(a+7085|0,2992,1056)|0;return}function Hc(b){b=b|0;var c=0;c=b+7075|0;a[c>>0]=112;a[c+1>>0]=86;a[c+2>>0]=140;a[c+3>>0]=37;c=b+7079|0;a[c>>0]=a[4052]|0;a[c+1>>0]=a[4053]|0;a[c+2>>0]=a[4054]|0;c=b+7082|0;a[c>>0]=a[5021]|0;a[c+1>>0]=a[5022]|0;a[c+2>>0]=a[5023]|0;return}function Ic(b){b=b|0;var c=0,d=0;c=b;b=4058;d=c+9|0;do{a[c>>0]=a[b>>0]|0;c=c+1|0;b=b+1|0}while((c|0)<(d|0));return}function Jc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=b+16|0;h=d+((c[g>>2]|0)*14|0)|0;d=b+36|0;b=(c[d>>2]|0)*6|0;i=e+b|0;e=f+b|0;b=h+-1|0;f=i+-1|0;j=e+-1|0;a[h>>0]=a[b>>0]|0;a[i>>0]=a[f>>0]|0;a[e>>0]=a[j>>0]|0;a[h+1>>0]=a[b>>0]|0;a[i+1>>0]=a[f>>0]|0;a[e+1>>0]=a[j>>0]|0;a[h+2>>0]=a[b>>0]|0;a[i+2>>0]=a[f>>0]|0;a[e+2>>0]=a[j>>0]|0;a[h+3>>0]=a[b>>0]|0;a[i+3>>0]=a[f>>0]|0;a[e+3>>0]=a[j>>0]|0;j=h+(c[g>>2]|0)|0;g=c[d>>2]|0;d=i+g|0;i=e+g|0;g=j+-1|0;e=d+-1|0;h=i+-1|0;a[j>>0]=a[g>>0]|0;a[d>>0]=a[e>>0]|0;a[i>>0]=a[h>>0]|0;a[j+1>>0]=a[g>>0]|0;a[d+1>>0]=a[e>>0]|0;a[i+1>>0]=a[h>>0]|0;a[j+2>>0]=a[g>>0]|0;a[d+2>>0]=a[e>>0]|0;a[i+2>>0]=a[h>>0]|0;a[j+3>>0]=a[g>>0]|0;a[d+3>>0]=a[e>>0]|0;a[i+3>>0]=a[h>>0]|0;return}function Kc(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;k=l;l=l+144|0;m=k;n=f+-4|0;o=b[304+(g*12|0)>>1]|0;p=b[304+(g*12|0)+2>>1]|0;q=b[304+(g*12|0)+4>>1]|0;r=b[304+(g*12|0)+6>>1]|0;s=b[304+(g*12|0)+8>>1]|0;t=b[304+(g*12|0)+10>>1]|0;g=0;u=m;v=e+(0-(f<<1))|0;while(1){f=S(d[v+-2>>0]|0,o)|0;e=d[v+-1>>0]|0;w=S(e,p)|0;x=d[v>>0]|0;y=S(x,q)|0;z=d[v+1>>0]|0;A=S(z,r)|0;B=d[v+2>>0]|0;C=S(B,s)|0;D=d[v+3>>0]|0;E=f+64+w+y+A+C+(S(D,t)|0)>>7;c[u>>2]=(E|0)<0?0:(E|0)<255?E:255;E=S(e,o)|0;e=S(x,p)|0;C=S(z,q)|0;A=S(B,r)|0;y=S(D,s)|0;w=v+4|0;f=d[w>>0]|0;F=E+64+e+C+A+y+(S(f,t)|0)>>7;c[u+4>>2]=(F|0)<0?0:(F|0)<255?F:255;F=S(x,o)|0;x=S(z,p)|0;y=S(B,q)|0;A=S(D,r)|0;C=S(f,s)|0;e=d[v+5>>0]|0;E=F+64+x+y+A+C+(S(e,t)|0)>>7;c[u+8>>2]=(E|0)<0?0:(E|0)<255?E:255;E=S(z,o)|0;z=S(B,p)|0;B=S(D,q)|0;D=S(f,r)|0;f=S(e,s)|0;e=E+64+z+B+D+f+(S(d[v+6>>0]|0,t)|0)>>7;c[u+12>>2]=(e|0)<0?0:(e|0)<255?e:255;g=g+1|0;if((g|0)==9)break;else{u=u+16|0;v=w+n|0}}n=b[304+(h*12|0)>>1]|0;v=b[304+(h*12|0)+2>>1]|0;u=b[304+(h*12|0)+4>>1]|0;g=b[304+(h*12|0)+6>>1]|0;t=b[304+(h*12|0)+8>>1]|0;s=b[304+(h*12|0)+10>>1]|0;h=0;r=i;i=m+32|0;while(1){m=S(n,c[i+-32>>2]|0)|0;q=S(v,c[i+-16>>2]|0)|0;p=S(u,c[i>>2]|0)|0;o=i;i=i+16|0;w=S(g,c[i>>2]|0)|0;e=S(t,c[o+32>>2]|0)|0;f=m+64+q+p+w+e+(S(s,c[o+48>>2]|0)|0)>>7;a[r>>0]=(f|0)<0?0:((f|0)<255?f:255)&255;f=S(n,c[o+-28>>2]|0)|0;e=S(v,c[o+-12>>2]|0)|0;w=S(u,c[o+4>>2]|0)|0;p=S(g,c[o+20>>2]|0)|0;q=S(t,c[o+36>>2]|0)|0;m=f+64+e+w+p+q+(S(s,c[o+52>>2]|0)|0)>>7;a[r+1>>0]=(m|0)<0?0:((m|0)<255?m:255)&255;m=S(n,c[o+-24>>2]|0)|0;q=S(v,c[o+-8>>2]|0)|0;p=S(u,c[o+8>>2]|0)|0;w=S(g,c[o+24>>2]|0)|0;e=S(t,c[o+40>>2]|0)|0;f=m+64+q+p+w+e+(S(s,c[o+56>>2]|0)|0)>>7;a[r+2>>0]=(f|0)<0?0:((f|0)<255?f:255)&255;f=S(n,c[o+-20>>2]|0)|0;e=S(v,c[o+-4>>2]|0)|0;w=S(u,c[o+12>>2]|0)|0;p=S(g,c[o+28>>2]|0)|0;q=S(t,c[o+44>>2]|0)|0;m=f+64+e+w+p+q+(S(s,c[o+60>>2]|0)|0)>>7;a[r+3>>0]=(m|0)<0?0:((m|0)<255?m:255)&255;h=h+1|0;if((h|0)==4)break;else r=r+j|0}l=k;return}function Lc(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;k=l;l=l+832|0;m=k;n=f+-8|0;o=b[304+(g*12|0)>>1]|0;p=b[304+(g*12|0)+2>>1]|0;q=b[304+(g*12|0)+4>>1]|0;r=b[304+(g*12|0)+6>>1]|0;s=b[304+(g*12|0)+8>>1]|0;t=b[304+(g*12|0)+10>>1]|0;g=0;u=m;v=e+(0-(f<<1))|0;while(1){f=0;e=v;do{w=S(d[e+-2>>0]|0,o)|0;x=S(d[e+-1>>0]|0,p)|0;y=S(d[e>>0]|0,q)|0;z=e;e=e+1|0;A=S(d[e>>0]|0,r)|0;B=S(d[z+2>>0]|0,s)|0;C=w+64+x+y+A+B+(S(d[z+3>>0]|0,t)|0)>>7;c[u+(f<<2)>>2]=(C|0)<0?0:(C|0)<255?C:255;f=f+1|0}while((f|0)!=8);g=g+1|0;if((g|0)==13)break;else{u=u+32|0;v=v+8+n|0}}n=b[304+(h*12|0)>>1]|0;v=b[304+(h*12|0)+2>>1]|0;u=b[304+(h*12|0)+4>>1]|0;g=b[304+(h*12|0)+6>>1]|0;t=b[304+(h*12|0)+8>>1]|0;s=b[304+(h*12|0)+10>>1]|0;h=0;r=i;i=m+64|0;while(1){m=0;q=i;while(1){p=S(n,c[q+-64>>2]|0)|0;o=S(v,c[q+-32>>2]|0)|0;f=S(u,c[q>>2]|0)|0;e=S(g,c[q+32>>2]|0)|0;C=S(t,c[q+64>>2]|0)|0;z=p+64+o+f+e+C+(S(s,c[q+96>>2]|0)|0)>>7;a[r+m>>0]=(z|0)<0?0:((z|0)<255?z:255)&255;m=m+1|0;if((m|0)==8)break;else q=q+4|0}h=h+1|0;if((h|0)==8)break;else{r=r+j|0;i=i+32|0}}l=k;return}function Mc(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;k=l;l=l+832|0;m=k;n=f+-8|0;o=b[304+(g*12|0)>>1]|0;p=b[304+(g*12|0)+2>>1]|0;q=b[304+(g*12|0)+4>>1]|0;r=b[304+(g*12|0)+6>>1]|0;s=b[304+(g*12|0)+8>>1]|0;t=b[304+(g*12|0)+10>>1]|0;g=0;u=m;v=e+(0-(f<<1))|0;while(1){f=0;e=v;do{w=S(d[e+-2>>0]|0,o)|0;x=S(d[e+-1>>0]|0,p)|0;y=S(d[e>>0]|0,q)|0;z=e;e=e+1|0;A=S(d[e>>0]|0,r)|0;B=S(d[z+2>>0]|0,s)|0;C=w+64+x+y+A+B+(S(d[z+3>>0]|0,t)|0)>>7;c[u+(f<<2)>>2]=(C|0)<0?0:(C|0)<255?C:255;f=f+1|0}while((f|0)!=8);g=g+1|0;if((g|0)==9)break;else{u=u+32|0;v=v+8+n|0}}n=b[304+(h*12|0)>>1]|0;v=b[304+(h*12|0)+2>>1]|0;u=b[304+(h*12|0)+4>>1]|0;g=b[304+(h*12|0)+6>>1]|0;t=b[304+(h*12|0)+8>>1]|0;s=b[304+(h*12|0)+10>>1]|0;h=0;r=m+64|0;while(1){q=S(n,c[r+-64>>2]|0)|0;p=S(v,c[r+-32>>2]|0)|0;o=S(u,c[r>>2]|0)|0;f=S(g,c[r+32>>2]|0)|0;e=S(t,c[r+64>>2]|0)|0;C=q+64+p+o+f+e+(S(s,c[r+96>>2]|0)|0)>>7;a[i+h>>0]=(C|0)<0?0:((C|0)<255?C:255)&255;h=h+1|0;if((h|0)==8)break;else r=r+4|0}r=i+j|0;i=0;h=m+96|0;while(1){C=S(n,c[h+-64>>2]|0)|0;e=S(v,c[h+-32>>2]|0)|0;f=S(u,c[h>>2]|0)|0;o=S(g,c[h+32>>2]|0)|0;p=S(t,c[h+64>>2]|0)|0;q=C+64+e+f+o+p+(S(s,c[h+96>>2]|0)|0)>>7;a[r+i>>0]=(q|0)<0?0:((q|0)<255?q:255)&255;i=i+1|0;if((i|0)==8)break;else h=h+4|0}h=r+j|0;r=0;i=m+128|0;while(1){q=S(n,c[i+-64>>2]|0)|0;p=S(v,c[i+-32>>2]|0)|0;o=S(u,c[i>>2]|0)|0;f=S(g,c[i+32>>2]|0)|0;e=S(t,c[i+64>>2]|0)|0;C=q+64+p+o+f+e+(S(s,c[i+96>>2]|0)|0)>>7;a[h+r>>0]=(C|0)<0?0:((C|0)<255?C:255)&255;r=r+1|0;if((r|0)==8)break;else i=i+4|0}i=h+j|0;j=0;h=m+160|0;while(1){m=S(n,c[h+-64>>2]|0)|0;r=S(v,c[h+-32>>2]|0)|0;C=S(u,c[h>>2]|0)|0;e=S(g,c[h+32>>2]|0)|0;f=S(t,c[h+64>>2]|0)|0;o=m+64+r+C+e+f+(S(s,c[h+96>>2]|0)|0)>>7;a[i+j>>0]=(o|0)<0?0:((o|0)<255?o:255)&255;j=j+1|0;if((j|0)==8)break;else h=h+4|0}l=k;return}function Nc(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;k=l;l=l+2016|0;m=k;n=f+-16|0;o=b[304+(g*12|0)>>1]|0;p=b[304+(g*12|0)+2>>1]|0;q=b[304+(g*12|0)+4>>1]|0;r=b[304+(g*12|0)+6>>1]|0;s=b[304+(g*12|0)+8>>1]|0;t=b[304+(g*12|0)+10>>1]|0;g=0;u=m;v=e+(0-(f<<1))|0;while(1){f=0;e=v;do{w=S(d[e+-2>>0]|0,o)|0;x=S(d[e+-1>>0]|0,p)|0;y=S(d[e>>0]|0,q)|0;z=e;e=e+1|0;A=S(d[e>>0]|0,r)|0;B=S(d[z+2>>0]|0,s)|0;C=w+64+x+y+A+B+(S(d[z+3>>0]|0,t)|0)>>7;c[u+(f<<2)>>2]=(C|0)<0?0:(C|0)<255?C:255;f=f+1|0}while((f|0)!=16);g=g+1|0;if((g|0)==21)break;else{u=u+64|0;v=v+16+n|0}}n=b[304+(h*12|0)>>1]|0;v=b[304+(h*12|0)+2>>1]|0;u=b[304+(h*12|0)+4>>1]|0;g=b[304+(h*12|0)+6>>1]|0;t=b[304+(h*12|0)+8>>1]|0;s=b[304+(h*12|0)+10>>1]|0;h=0;r=i;i=m+128|0;while(1){m=0;q=i;while(1){p=S(n,c[q+-128>>2]|0)|0;o=S(v,c[q+-64>>2]|0)|0;f=S(u,c[q>>2]|0)|0;e=S(g,c[q+64>>2]|0)|0;C=S(t,c[q+128>>2]|0)|0;z=p+64+o+f+e+C+(S(s,c[q+192>>2]|0)|0)>>7;a[r+m>>0]=(z|0)<0?0:((z|0)<255?z:255)&255;m=m+1|0;if((m|0)==16)break;else q=q+4|0}h=h+1|0;if((h|0)==16)break;else{r=r+j|0;i=i+64|0}}l=k;return}function Oc(c,f,g,h,i,j){c=c|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0;k=l;l=l+544|0;m=k;n=f+-4|0;f=b[272+(g<<2)>>1]|0;o=b[272+(g<<2)+2>>1]|0;g=m;p=0;q=c;while(1){c=S(f,d[q>>0]|0)|0;r=d[q+1>>0]|0;b[g>>1]=(c+64+(S(o,r)|0)|0)>>>7;c=S(f,r)|0;r=d[q+2>>0]|0;b[g+2>>1]=(c+64+(S(o,r)|0)|0)>>>7;c=S(f,r)|0;r=d[q+3>>0]|0;b[g+4>>1]=(c+64+(S(o,r)|0)|0)>>>7;c=S(f,r)|0;b[g+6>>1]=(c+64+(S(o,d[q+4>>0]|0)|0)|0)>>>7;p=p+1|0;if((p|0)==5)break;else{g=g+8|0;q=q+4+n|0}}n=b[272+(h<<2)>>1]|0;q=b[272+(h<<2)+2>>1]|0;h=b[m>>1]|0;g=i;i=0;p=m;while(1){m=S(n,h&65535)|0;o=p;p=p+8|0;h=b[p>>1]|0;a[g>>0]=(m+64+(S(q,h&65535)|0)|0)>>>7;m=S(n,e[o+2>>1]|0)|0;a[g+1>>0]=(m+64+(S(q,e[o+10>>1]|0)|0)|0)>>>7;m=S(n,e[o+4>>1]|0)|0;a[g+2>>0]=(m+64+(S(q,e[o+12>>1]|0)|0)|0)>>>7;m=S(n,e[o+6>>1]|0)|0;a[g+3>>0]=(m+64+(S(q,e[o+14>>1]|0)|0)|0)>>>7;i=i+1|0;if((i|0)==4)break;else g=g+j|0}l=k;return}function Pc(c,f,g,h,i,j){c=c|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0;k=l;l=l+544|0;m=k;n=f+-8|0;f=b[272+(g<<2)>>1]|0;o=b[272+(g<<2)+2>>1]|0;g=m;p=0;q=c;while(1){c=S(f,d[q>>0]|0)|0;r=d[q+1>>0]|0;b[g>>1]=(c+64+(S(o,r)|0)|0)>>>7;c=S(f,r)|0;r=d[q+2>>0]|0;b[g+2>>1]=(c+64+(S(o,r)|0)|0)>>>7;c=S(f,r)|0;r=d[q+3>>0]|0;b[g+4>>1]=(c+64+(S(o,r)|0)|0)>>>7;c=S(f,r)|0;r=d[q+4>>0]|0;b[g+6>>1]=(c+64+(S(o,r)|0)|0)>>>7;c=S(f,r)|0;r=d[q+5>>0]|0;b[g+8>>1]=(c+64+(S(o,r)|0)|0)>>>7;c=S(f,r)|0;r=d[q+6>>0]|0;b[g+10>>1]=(c+64+(S(o,r)|0)|0)>>>7;c=S(f,r)|0;r=q+7|0;b[g+12>>1]=(c+64+(S(o,d[r>>0]|0)|0)|0)>>>7;c=S(f,d[r>>0]|0)|0;b[g+14>>1]=(c+64+(S(o,d[q+8>>0]|0)|0)|0)>>>7;p=p+1|0;if((p|0)==9)break;else{g=g+16|0;q=q+8+n|0}}n=b[272+(h<<2)>>1]|0;q=b[272+(h<<2)+2>>1]|0;h=i;i=0;g=m;while(1){m=S(n,e[g>>1]|0)|0;p=g;g=g+16|0;a[h>>0]=(m+64+(S(q,e[g>>1]|0)|0)|0)>>>7;m=S(n,e[p+2>>1]|0)|0;a[h+1>>0]=(m+64+(S(q,e[p+18>>1]|0)|0)|0)>>>7;m=S(n,e[p+4>>1]|0)|0;a[h+2>>0]=(m+64+(S(q,e[p+20>>1]|0)|0)|0)>>>7;m=S(n,e[p+6>>1]|0)|0;a[h+3>>0]=(m+64+(S(q,e[p+22>>1]|0)|0)|0)>>>7;m=S(n,e[p+8>>1]|0)|0;a[h+4>>0]=(m+64+(S(q,e[p+24>>1]|0)|0)|0)>>>7;m=S(n,e[p+10>>1]|0)|0;a[h+5>>0]=(m+64+(S(q,e[p+26>>1]|0)|0)|0)>>>7;m=S(n,e[p+12>>1]|0)|0;a[h+6>>0]=(m+64+(S(q,e[p+28>>1]|0)|0)|0)>>>7;m=S(n,e[p+14>>1]|0)|0;a[h+7>>0]=(m+64+(S(q,e[p+30>>1]|0)|0)|0)>>>7;i=i+1|0;if((i|0)==8)break;else h=h+j|0}l=k;return}function Qc(c,f,g,h,i,j){c=c|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0;k=l;l=l+544|0;m=k;n=f+-8|0;f=b[272+(g<<2)>>1]|0;o=b[272+(g<<2)+2>>1]|0;g=m;p=0;q=c;while(1){c=S(f,d[q>>0]|0)|0;r=d[q+1>>0]|0;b[g>>1]=(c+64+(S(o,r)|0)|0)>>>7;c=S(f,r)|0;r=d[q+2>>0]|0;b[g+2>>1]=(c+64+(S(o,r)|0)|0)>>>7;c=S(f,r)|0;r=d[q+3>>0]|0;b[g+4>>1]=(c+64+(S(o,r)|0)|0)>>>7;c=S(f,r)|0;r=d[q+4>>0]|0;b[g+6>>1]=(c+64+(S(o,r)|0)|0)>>>7;c=S(f,r)|0;r=d[q+5>>0]|0;b[g+8>>1]=(c+64+(S(o,r)|0)|0)>>>7;c=S(f,r)|0;r=d[q+6>>0]|0;b[g+10>>1]=(c+64+(S(o,r)|0)|0)>>>7;c=S(f,r)|0;r=q+7|0;b[g+12>>1]=(c+64+(S(o,d[r>>0]|0)|0)|0)>>>7;c=S(f,d[r>>0]|0)|0;b[g+14>>1]=(c+64+(S(o,d[q+8>>0]|0)|0)|0)>>>7;p=p+1|0;if((p|0)==5)break;else{g=g+16|0;q=q+8+n|0}}n=b[272+(h<<2)>>1]|0;q=b[272+(h<<2)+2>>1]|0;h=i;i=0;g=m;while(1){m=S(n,e[g>>1]|0)|0;p=g;g=g+16|0;a[h>>0]=(m+64+(S(q,e[g>>1]|0)|0)|0)>>>7;m=S(n,e[p+2>>1]|0)|0;a[h+1>>0]=(m+64+(S(q,e[p+18>>1]|0)|0)|0)>>>7;m=S(n,e[p+4>>1]|0)|0;a[h+2>>0]=(m+64+(S(q,e[p+20>>1]|0)|0)|0)>>>7;m=S(n,e[p+6>>1]|0)|0;a[h+3>>0]=(m+64+(S(q,e[p+22>>1]|0)|0)|0)>>>7;m=S(n,e[p+8>>1]|0)|0;a[h+4>>0]=(m+64+(S(q,e[p+24>>1]|0)|0)|0)>>>7;m=S(n,e[p+10>>1]|0)|0;a[h+5>>0]=(m+64+(S(q,e[p+26>>1]|0)|0)|0)>>>7;m=S(n,e[p+12>>1]|0)|0;a[h+6>>0]=(m+64+(S(q,e[p+28>>1]|0)|0)|0)>>>7;m=S(n,e[p+14>>1]|0)|0;a[h+7>>0]=(m+64+(S(q,e[p+30>>1]|0)|0)|0)>>>7;i=i+1|0;if((i|0)==4)break;else h=h+j|0}l=k;return}function Rc(c,f,g,h,i,j){c=c|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=l;l=l+544|0;m=k;n=f+-16|0;f=b[272+(g<<2)>>1]|0;o=b[272+(g<<2)+2>>1]|0;g=m;p=0;q=c;while(1){c=0;r=q;do{s=S(f,d[r>>0]|0)|0;r=r+1|0;b[g+(c<<1)>>1]=(s+64+(S(o,d[r>>0]|0)|0)|0)>>>7;c=c+1|0}while((c|0)!=16);p=p+1|0;if((p|0)==17)break;else{g=g+32|0;q=q+16+n|0}}n=b[272+(h<<2)>>1]|0;q=b[272+(h<<2)+2>>1]|0;h=i;i=0;g=m;while(1){m=0;p=g;while(1){o=S(n,e[p>>1]|0)|0;a[h+m>>0]=(o+64+(S(q,e[p+32>>1]|0)|0)|0)>>>7;m=m+1|0;if((m|0)==16)break;else p=p+2|0}i=i+1|0;if((i|0)==16)break;else{h=h+j|0;g=g+32|0}}l=k;return}function Sc(a){a=a|0;var b=0;b=xa(84)|0;c[a+8192>>2]=(b|0)>1?b:1;return}function Tc(c,d,e,f,g){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;h=(f<<2)+-16|0;i=e;e=g;g=0;j=c;while(1){if((a[e>>0]|0)>1)Fc(j,d,i,f);else{Wc((S(b[d>>1]|0,b[j>>1]|0)|0)&65535,i,f,i,f);b[j>>1]=0;b[j+2>>1]=0>>>16}c=j+32|0;k=i+4|0;if((a[e+1>>0]|0)>1)Fc(c,d,k,f);else{Wc((S(b[d>>1]|0,b[c>>1]|0)|0)&65535,k,f,k,f);b[c>>1]=0;b[c+2>>1]=0>>>16}c=j+64|0;k=i+8|0;if((a[e+2>>0]|0)>1)Fc(c,d,k,f);else{Wc((S(b[d>>1]|0,b[c>>1]|0)|0)&65535,k,f,k,f);b[c>>1]=0;b[c+2>>1]=0>>>16}c=j+96|0;k=i+12|0;if((a[e+3>>0]|0)>1)Fc(c,d,k,f);else{Wc((S(b[d>>1]|0,b[c>>1]|0)|0)&65535,k,f,k,f);b[c>>1]=0;b[c+2>>1]=0>>>16}g=g+1|0;if((g|0)==4)break;else{i=i+16+h|0;e=e+4|0;j=j+128|0}}return}function Uc(c,d,e,f,g,h){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=(g<<2)+-8|0;j=c+64|0;if((a[h>>0]|0)>1)Fc(c,d,e,g);else{Wc((S(b[d>>1]|0,b[c>>1]|0)|0)&65535,e,g,e,g);b[c>>1]=0;b[c+2>>1]=0>>>16}k=c+32|0;l=e+4|0;if((a[h+1>>0]|0)>1)Fc(k,d,l,g);else{Wc((S(b[d>>1]|0,b[k>>1]|0)|0)&65535,l,g,l,g);b[k>>1]=0;b[k+2>>1]=0>>>16}k=e+8+i|0;if((a[h+2>>0]|0)>1)Fc(j,d,k,g);else{Wc((S(b[d>>1]|0,b[j>>1]|0)|0)&65535,k,g,k,g);b[j>>1]=0;b[j+2>>1]=0>>>16}j=c+96|0;e=k+4|0;if((a[h+3>>0]|0)>1)Fc(j,d,e,g);else{Wc((S(b[d>>1]|0,b[j>>1]|0)|0)&65535,e,g,e,g);b[j>>1]=0;b[j+2>>1]=0>>>16}j=c+128|0;e=c+192|0;if((a[h+4>>0]|0)>1)Fc(j,d,f,g);else{Wc((S(b[d>>1]|0,b[j>>1]|0)|0)&65535,f,g,f,g);b[j>>1]=0;b[j+2>>1]=0>>>16}j=c+160|0;k=f+4|0;if((a[h+5>>0]|0)>1)Fc(j,d,k,g);else{Wc((S(b[d>>1]|0,b[j>>1]|0)|0)&65535,k,g,k,g);b[j>>1]=0;b[j+2>>1]=0>>>16}j=f+8+i|0;if((a[h+6>>0]|0)>1)Fc(e,d,j,g);else{Wc((S(b[d>>1]|0,b[e>>1]|0)|0)&65535,j,g,j,g);b[e>>1]=0;b[e+2>>1]=0>>>16}e=c+224|0;c=j+4|0;if((a[h+7>>0]|0)>1){Fc(e,d,c,g);return}else{Wc((S(b[d>>1]|0,b[e>>1]|0)|0)&65535,c,g,c,g);b[e>>1]=0;b[e+2>>1]=0>>>16;return}}function Vc(c,e,f,g,h){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;i=l;l=l+32|0;j=i;k=b[c>>1]|0;m=b[c+16>>1]|0;n=m+k|0;o=k-m|0;m=b[c+8>>1]|0;k=b[c+24>>1]|0;p=(m*35468>>16)-k-(k*20091>>16)|0;q=(m*20091>>16)+m+(k*35468>>16)|0;b[j>>1]=q+n;b[j+24>>1]=n-q;b[j+8>>1]=p+o;b[j+16>>1]=o-p;p=b[c+2>>1]|0;o=b[c+18>>1]|0;q=o+p|0;n=p-o|0;o=b[c+10>>1]|0;p=b[c+26>>1]|0;k=(o*35468>>16)-p-(p*20091>>16)|0;m=(o*20091>>16)+o+(p*35468>>16)|0;p=m+q&65535;b[j+2>>1]=p;b[j+26>>1]=q-m;b[j+10>>1]=k+n;b[j+18>>1]=n-k;k=b[c+4>>1]|0;n=b[c+20>>1]|0;m=n+k|0;q=k-n|0;n=b[c+12>>1]|0;k=b[c+28>>1]|0;o=(n*35468>>16)-k-(k*20091>>16)|0;r=(n*20091>>16)+n+(k*35468>>16)|0;b[j+4>>1]=r+m;b[j+28>>1]=m-r;b[j+12>>1]=o+q;b[j+20>>1]=q-o;o=b[c+6>>1]|0;q=b[c+22>>1]|0;r=q+o|0;m=o-q|0;q=b[c+14>>1]|0;o=b[c+30>>1]|0;c=(q*35468>>16)-o-(o*20091>>16)|0;k=(q*20091>>16)+q+(o*35468>>16)|0;b[j+6>>1]=k+r;b[j+30>>1]=r-k;b[j+14>>1]=c+m;b[j+22>>1]=m-c;c=p;p=0;m=j;while(1){k=b[m>>1]|0;r=m+4|0;o=b[r>>1]|0;q=c<<16>>16;n=m+6|0;s=b[n>>1]|0;t=(q*35468>>16)-s-(s*20091>>16)|0;u=(q*20091>>16)+q+(s*35468>>16)|0;s=o+k+4|0;b[m>>1]=(s+u|0)>>>3;b[n>>1]=(s-u|0)>>>3;u=k-o+4|0;b[m+2>>1]=(u+t|0)>>>3;b[r>>1]=(u-t|0)>>>3;t=p+1|0;if((t|0)==4){v=g;w=j;x=e;y=0;break}c=b[m+10>>1]|0;p=t;m=m+8|0}while(1){m=(d[x>>0]|0)+(b[w>>1]|0)|0;p=(m|0)>0?m:0;a[v>>0]=(p|0)<255?p:255;p=(d[x+1>>0]|0)+(b[w+2>>1]|0)|0;m=(p|0)>0?p:0;a[v+1>>0]=(m|0)<255?m:255;m=(d[x+2>>0]|0)+(b[w+4>>1]|0)|0;p=(m|0)>0?m:0;a[v+2>>0]=(p|0)<255?p:255;p=(d[x+3>>0]|0)+(b[w+6>>1]|0)|0;m=(p|0)>0?p:0;a[v+3>>0]=(m|0)<255?m:255;y=y+1|0;if((y|0)==4)break;else{v=v+h|0;w=w+8|0;x=x+f|0}}l=i;return}function Wc(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=(b<<16>>16)+4>>3;b=(d[c>>0]|0)+h|0;i=(b|0)>0?b:0;a[f>>0]=(i|0)<255?i:255;i=(d[c+1>>0]|0)+h|0;b=(i|0)>0?i:0;a[f+1>>0]=(b|0)<255?b:255;b=(d[c+2>>0]|0)+h|0;i=(b|0)>0?b:0;a[f+2>>0]=(i|0)<255?i:255;i=(d[c+3>>0]|0)+h|0;b=(i|0)>0?i:0;a[f+3>>0]=(b|0)<255?b:255;b=f+g|0;f=c+e|0;c=(d[f>>0]|0)+h|0;i=(c|0)>0?c:0;a[b>>0]=(i|0)<255?i:255;i=(d[f+1>>0]|0)+h|0;c=(i|0)>0?i:0;a[b+1>>0]=(c|0)<255?c:255;c=(d[f+2>>0]|0)+h|0;i=(c|0)>0?c:0;a[b+2>>0]=(i|0)<255?i:255;i=(d[f+3>>0]|0)+h|0;c=(i|0)>0?i:0;a[b+3>>0]=(c|0)<255?c:255;c=b+g|0;b=f+e|0;f=(d[b>>0]|0)+h|0;i=(f|0)>0?f:0;a[c>>0]=(i|0)<255?i:255;i=(d[b+1>>0]|0)+h|0;f=(i|0)>0?i:0;a[c+1>>0]=(f|0)<255?f:255;f=(d[b+2>>0]|0)+h|0;i=(f|0)>0?f:0;a[c+2>>0]=(i|0)<255?i:255;i=(d[b+3>>0]|0)+h|0;f=(i|0)>0?i:0;a[c+3>>0]=(f|0)<255?f:255;f=c+g|0;g=b+e|0;e=(d[g>>0]|0)+h|0;b=(e|0)>0?e:0;a[f>>0]=(b|0)<255?b:255;b=(d[g+1>>0]|0)+h|0;e=(b|0)>0?b:0;a[f+1>>0]=(e|0)<255?e:255;e=(d[g+2>>0]|0)+h|0;b=(e|0)>0?e:0;a[f+2>>0]=(b|0)<255?b:255;b=(d[g+3>>0]|0)+h|0;h=(b|0)>0?b:0;a[f+3>>0]=(h|0)<255?h:255;return}function Xc(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=l;l=l+32|0;e=d;f=b[a>>1]|0;g=b[a+24>>1]|0;h=g+f|0;i=b[a+8>>1]|0;j=b[a+16>>1]|0;k=j+i|0;m=i-j|0;j=f-g|0;b[e>>1]=k+h;g=e+8|0;b[g>>1]=m+j;b[e+16>>1]=h-k;b[e+24>>1]=j-m;m=e+2|0;j=b[a+2>>1]|0;k=b[a+26>>1]|0;h=k+j|0;f=b[a+10>>1]|0;i=b[a+18>>1]|0;n=i+f|0;o=f-i|0;i=j-k|0;k=n+h|0;b[m>>1]=k;b[e+10>>1]=o+i;b[e+18>>1]=h-n;b[e+26>>1]=i-o;o=b[a+4>>1]|0;i=b[a+28>>1]|0;n=i+o|0;h=b[a+12>>1]|0;j=b[a+20>>1]|0;f=j+h|0;p=h-j|0;j=o-i|0;b[e+20>>1]=n-f;b[e+28>>1]=j-p;i=b[a+6>>1]|0;o=b[a+30>>1]|0;h=o+i|0;q=b[a+14>>1]|0;r=b[a+22>>1]|0;a=r+q|0;s=q-r|0;r=i-o|0;o=h-a|0;b[e+22>>1]=o;i=r-s|0;b[e+30>>1]=i;q=b[e>>1]|0;t=a+h<<16>>16;h=k<<16>>16;k=f+n<<16>>16;n=k+h|0;f=h-k|0;k=t+q+3|0;b[e>>1]=(k+n|0)>>>3;h=q-t+3|0;b[m>>1]=(h+f|0)>>>3;b[e+4>>1]=(k-n|0)>>>3;b[e+6>>1]=(h-f|0)>>>3;f=b[g>>1]|0;h=s+r<<16>>16;r=e+10|0;s=b[r>>1]|0;n=p+j<<16>>16;j=n+s|0;p=s-n|0;n=h+f+3|0;s=(n+j|0)>>>3&65535;b[g>>1]=s;g=f-h+3|0;h=(g+p|0)>>>3&65535;b[r>>1]=h;r=(n-j|0)>>>3&65535;b[e+12>>1]=r;j=(g-p|0)>>>3&65535;b[e+14>>1]=j;p=e+16|0;g=b[p>>1]|0;n=o<<16>>16;o=e+18|0;f=b[o>>1]|0;k=e+20|0;m=b[k>>1]|0;t=m+f|0;q=f-m|0;m=n+g+3|0;f=(m+t|0)>>>3&65535;b[p>>1]=f;p=g-n+3|0;n=(p+q|0)>>>3&65535;b[o>>1]=n;o=(m-t|0)>>>3&65535;b[k>>1]=o;k=(p-q|0)>>>3&65535;b[e+22>>1]=k;q=e+24|0;p=b[q>>1]|0;t=i<<16>>16;i=e+26|0;m=b[i>>1]|0;g=e+28|0;a=b[g>>1]|0;u=a+m|0;v=m-a|0;a=t+p+3|0;m=(a+u|0)>>>3&65535;b[q>>1]=m;q=p-t+3|0;t=(q+v|0)>>>3&65535;b[i>>1]=t;i=(a-u|0)>>>3&65535;b[g>>1]=i;g=(q-v|0)>>>3&65535;b[e+30>>1]=g;b[c>>1]=b[e>>1]|0;b[c+32>>1]=b[e+2>>1]|0;b[c+64>>1]=b[e+4>>1]|0;b[c+96>>1]=b[e+6>>1]|0;b[c+128>>1]=s;b[c+160>>1]=h;b[c+192>>1]=r;b[c+224>>1]=j;b[c+256>>1]=f;b[c+288>>1]=n;b[c+320>>1]=o;b[c+352>>1]=k;b[c+384>>1]=m;b[c+416>>1]=t;b[c+448>>1]=i;b[c+480>>1]=g;l=d;return}function Yc(a,c){a=a|0;c=c|0;var d=0;d=((b[a>>1]|0)+3|0)>>>3&65535;b[c>>1]=d;b[c+32>>1]=d;b[c+64>>1]=d;b[c+96>>1]=d;b[c+128>>1]=d;b[c+160>>1]=d;b[c+192>>1]=d;b[c+224>>1]=d;b[c+256>>1]=d;b[c+288>>1]=d;b[c+320>>1]=d;b[c+352>>1]=d;b[c+384>>1]=d;b[c+416>>1]=d;b[c+448>>1]=d;b[c+480>>1]=d;return}function Zc(){xg(9648,3)|0;return}function _c(){return}function $c(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=b+5896|0;e=c[d>>2]|0;f=(e|0)>0;g=f&1;h=(e|0)>4&1;i=9-e|0;if(f){f=0;do{e=f>>g>>h;j=(e|0)>(i|0)?i:e;e=(j|0)>1?j:1;Sg(b+4592+(f<<4)|0,e&255|0,16)|0;j=f<<1;Sg(b+3568+(f<<4)|0,e+j&255|0,16)|0;Sg(b+2544+(f<<4)|0,j+4+e&255|0,16)|0;f=f+1|0}while((f|0)!=64)}else{f=0;do{i=f>>g>>h;e=(i|0)>1?i:1;Sg(b+4592+(f<<4)|0,e&255|0,16)|0;i=f<<1;Sg(b+3568+(f<<4)|0,e+i&255|0,16)|0;Sg(b+2544+(f<<4)|0,i+4+e&255|0,16)|0;f=f+1|0}while((f|0)!=64)}c[b+5892>>2]=c[d>>2];d=0;do{do if((d|0)<=39)if((d|0)>19){a[b+5744+d>>0]=1;k=2;break}else{f=(d|0)>14&1;a[b+5744+d>>0]=f;k=f;break}else{a[b+5744+d>>0]=2;k=3}while(0);a[b+5808+d>>0]=k;d=d+1|0}while((d|0)!=64);c[b+5872>>2]=16843009;a[b+5876>>0]=0;a[b+5879>>0]=1;a[b+5877>>0]=2;a[b+5878>>0]=2;a[b+5880>>0]=2;a[b+5881>>0]=3;d=b+5616|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;d=b+5632|0;c[d>>2]=16843009;c[d+4>>2]=16843009;c[d+8>>2]=16843009;c[d+12>>2]=16843009;d=b+5648|0;c[d>>2]=33686018;c[d+4>>2]=33686018;c[d+8>>2]=33686018;c[d+12>>2]=33686018;d=b+5664|0;c[d>>2]=50529027;c[d+4>>2]=50529027;c[d+8>>2]=50529027;c[d+12>>2]=50529027;return}function ad(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=b+5892|0;g=b+5896|0;h=c[g>>2]|0;if((c[f>>2]|0)!=(h|0)){i=(h|0)>0;j=i&1;k=(h|0)>4&1;l=9-h|0;if(i){i=0;do{h=i>>j>>k;m=(h|0)>(l|0)?l:h;h=(m|0)>1?m:1;Sg(b+4592+(i<<4)|0,h&255|0,16)|0;m=i<<1;Sg(b+3568+(i<<4)|0,h+m&255|0,16)|0;Sg(b+2544+(i<<4)|0,m+4+h&255|0,16)|0;i=i+1|0}while((i|0)!=64)}else{i=0;do{l=i>>j>>k;h=(l|0)>1?l:1;Sg(b+4592+(i<<4)|0,h&255|0,16)|0;l=i<<1;Sg(b+3568+(i<<4)|0,h+l&255|0,16)|0;Sg(b+2544+(i<<4)|0,l+4+h&255|0,16)|0;i=i+1|0}while((i|0)!=64)}c[f>>2]=c[g>>2]}g=d+3148|0;f=d+3163|0;i=d+3169|0;k=d+3177|0;j=d+3151|0;h=d+3178|0;l=d+3170|0;m=d+3179|0;n=d+3180|0;o=d+3171|0;p=d+3172|0;q=0;do{if(!(a[g>>0]|0))r=e;else{s=(a[d+3159+q>>0]|0)+((a[j>>0]|0)==1?0:e)|0;r=(s|0)>0?((s|0)<63?s:63):0}if(!(a[f>>0]|0))Sg(b+5680+(q<<4)|0,r&255|0,16)|0;else{s=(a[i>>0]|0)+r|0;t=s+(a[k>>0]|0)|0;a[b+5680+(q<<4)>>0]=(t|0)>0?((t|0)<63?t:63)&255:0;a[b+5680+(q<<4)+1>>0]=(s|0)>0?((s|0)<63?s:63)&255:0;s=(a[l>>0]|0)+r|0;t=s+(a[h>>0]|0)|0;a[b+5680+(q<<4)+5>>0]=(t|0)>0?((t|0)<63?t:63)&255:0;t=s+(a[m>>0]|0)|0;a[b+5680+(q<<4)+6>>0]=(t|0)>0?((t|0)<63?t:63)&255:0;t=s+(a[n>>0]|0)|0;a[b+5680+(q<<4)+7>>0]=(t|0)>0?((t|0)<63?t:63)&255:0;t=(a[o>>0]|0)+r|0;s=t+(a[h>>0]|0)|0;a[b+5680+(q<<4)+9>>0]=(s|0)>0?((s|0)<63?s:63)&255:0;s=t+(a[m>>0]|0)|0;a[b+5680+(q<<4)+10>>0]=(s|0)>0?((s|0)<63?s:63)&255:0;s=t+(a[n>>0]|0)|0;a[b+5680+(q<<4)+11>>0]=(s|0)>0?((s|0)<63?s:63)&255:0;s=(a[p>>0]|0)+r|0;t=s+(a[h>>0]|0)|0;a[b+5680+(q<<4)+13>>0]=(t|0)>0?((t|0)<63?t:63)&255:0;t=s+(a[m>>0]|0)|0;a[b+5680+(q<<4)+14>>0]=(t|0)>0?((t|0)<63?t:63)&255:0;t=s+(a[n>>0]|0)|0;a[b+5680+(q<<4)+15>>0]=(t|0)>0?((t|0)<63?t:63)&255:0}q=q+1|0}while((q|0)!=4);return}function bd(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;m=l;l=l+16|0;n=m;o=c[b+2452>>2]|0;p=b+2472|0;if((c[p>>2]|0)<=0){l=m;return}q=n+4|0;r=n+8|0;s=n+12|0;if((f|0)>0){t=0;u=e;v=j;w=k;x=i}else{f=0;y=e;e=j;j=k;k=i;while(1){i=a[y>>0]|0;z=i&255;switch(i<<24>>24){case 9:case 4:{A=0;break}default:A=(a[y+9>>0]|0)!=0}i=a[(d[b+5872+z>>0]|0)+(b+5680+(d[y+11>>0]<<4)+(d[y+2>>0]<<2))>>0]|0;z=i&255;if(i<<24>>24){i=d[b+5744+(o<<6)+z>>0]|0;c[n>>2]=b+2544+(z<<4);c[q>>2]=b+3568+(z<<4);c[r>>2]=b+4592+(z<<4);c[s>>2]=b+5616+(i<<4);if((f|0)>0)ld(k,e,j,g,h,n);if(!A){od(k,e,j,g,h,n);md(k,e,j,g,h,n)}}f=f+1|0;if((f|0)>=(c[p>>2]|0))break;else{y=y+76|0;e=e+8|0;j=j+8|0;k=k+16|0}}l=m;return}while(1){k=a[u>>0]|0;j=k&255;switch(k<<24>>24){case 9:case 4:{B=0;break}default:B=(a[u+9>>0]|0)!=0}k=a[(d[b+5872+j>>0]|0)+(b+5680+(d[u+11>>0]<<4)+(d[u+2>>0]<<2))>>0]|0;j=k&255;do if(k<<24>>24){e=d[b+5744+(o<<6)+j>>0]|0;c[n>>2]=b+2544+(j<<4);c[q>>2]=b+3568+(j<<4);c[r>>2]=b+4592+(j<<4);c[s>>2]=b+5616+(e<<4);if((t|0)>0)ld(x,v,w,g,h,n);if(B){kd(x,v,w,g,h,n);break}else{od(x,v,w,g,h,n);kd(x,v,w,g,h,n);md(x,v,w,g,h,n);break}}while(0);t=t+1|0;if((t|0)>=(c[p>>2]|0))break;else{u=u+76|0;v=v+8|0;w=w+8|0;x=x+16|0}}l=m;return}function cd(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0;k=b+2472|0;if((c[k>>2]|0)<=0)return;if((f|0)>0){l=0;m=e;n=i}else{f=0;j=e;e=i;while(1){i=a[j>>0]|0;h=i&255;switch(i<<24>>24){case 9:case 4:{o=0;break}default:o=(a[j+9>>0]|0)!=0}i=a[(d[b+5872+h>>0]|0)+(b+5680+(d[j+11>>0]<<4)+(d[j+2>>0]<<2))>>0]|0;h=i&255;if(i<<24>>24){if((f|0)>0)jd(e,g,b+2544+(h<<4)|0);if(!o){i=b+3568+(h<<4)|0;pd(e,g,i);nd(e,g,i)}}f=f+1|0;if((f|0)>=(c[k>>2]|0))break;else{j=j+76|0;e=e+16|0}}return}while(1){e=a[m>>0]|0;j=e&255;switch(e<<24>>24){case 9:case 4:{p=0;break}default:p=(a[m+9>>0]|0)!=0}e=a[(d[b+5872+j>>0]|0)+(b+5680+(d[m+11>>0]<<4)+(d[m+2>>0]<<2))>>0]|0;j=e&255;do if(e<<24>>24){if((l|0)>0)jd(n,g,b+2544+(j<<4)|0);if(p){id(n,g,b+2544+(j<<4)|0);break}else{f=b+3568+(j<<4)|0;pd(n,g,f);id(n,g,b+2544+(j<<4)|0);nd(n,g,f);break}}while(0);l=l+1|0;if((l|0)>=(c[k>>2]|0))break;else{m=m+76|0;n=n+16|0}}return}function dd(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;i=S(c,-4)|0;j=S(c,-3)|0;k=S(c,-2)|0;l=0-c|0;m=c<<1;n=c*3|0;o=0-m|0;p=h<<3;h=0;q=b;while(1){b=q+l|0;r=a[b>>0]|0;s=a[q>>0]|0;t=q+c|0;u=a[t>>0]|0;v=d[q+j>>0]|0;w=(d[q+i>>0]|0)-v|0;x=d[f>>0]|0;y=d[q+k>>0]|0;z=v-y|0;v=r&255;A=y-v|0;B=(A|0)>-1?A:0-A|0;A=u&255;C=s&255;D=A-C|0;E=(D|0)>-1?D:0-D|0;D=d[q+m>>0]|0;F=D-A|0;G=(d[q+n>>0]|0)-D|0;D=v-C|0;C=y-A|0;A=d[g>>0]|0;y=(B|0)>(A|0)|(E|0)>(A|0);A=q+o|0;v=(a[A>>0]^-128)<<24>>24;H=(u^-128)<<24>>24;u=v-H|0;I=(u|0)>-128?u:-128;u=(s^-128)<<24>>24;s=(r^-128)<<24>>24;r=(y?((I|0)<127?I:127)<<24>>24:0)+((u-s|0)*3|0)|0;I=(r|0)>-128?r:-128;r=(((((C|0)>-1?C:0-C|0)|0)/2|0)+(((D|0)>-1?D:0-D|0)<<1)|0)>(d[e>>0]|0|0)|(((((w|0)>-1?w:0-w|0)|0)>(x|0)?1:(((z|0)>-1?z:0-z|0)|0)>(x|0))|(B|0)>(x|0)|(E|0)>(x|0)|(((F|0)>-1?F:0-F|0)|0)>(x|0)|(((G|0)>-1?G:0-G|0)|0)>(x|0))?0:((I|0)<127?I:127)<<24>>24;I=r+4|0;x=(I|0)>-128?I:-128;I=r+3|0;r=(I|0)>-128?I:-128;I=((x|0)<127?x:127)<<24>>27;x=u-I|0;u=(x|0)>-128?x:-128;a[q>>0]=((u|0)<127?u:127)&255^-128;u=(((r|0)<127?r:127)<<24>>27)+s|0;s=(u|0)>-128?u:-128;a[b>>0]=((s|0)<127?s:127)&255^-128;s=((I+1|0)>>>1&(y?0:255))<<24>>24;y=H-s|0;H=(y|0)>-128?y:-128;a[t>>0]=((H|0)<127?H:127)&255^-128;H=s+v|0;v=(H|0)>-128?H:-128;a[A>>0]=((v|0)<127?v:127)&255^-128;h=h+1|0;if((h|0)>=(p|0))break;else q=q+1|0}return}function ed(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;i=h<<3;if((c|0)!=1){h=0;j=b;while(1){k=j+-2|0;l=a[k>>0]|0;m=j+-1|0;n=a[m>>0]|0;o=a[j>>0]|0;p=j+1|0;q=a[p>>0]|0;r=d[j+-3>>0]|0;s=(d[j+-4>>0]|0)-r|0;t=d[f>>0]|0;u=l&255;v=r-u|0;r=n&255;w=u-r|0;x=(w|0)>-1?w:0-w|0;w=q&255;y=o&255;z=w-y|0;A=(z|0)>-1?z:0-z|0;z=d[j+2>>0]|0;B=z-w|0;C=(d[j+3>>0]|0)-z|0;z=r-y|0;y=u-w|0;w=d[g>>0]|0;u=(x|0)>(w|0)|(A|0)>(w|0);w=(l^-128)<<24>>24;l=(q^-128)<<24>>24;q=w-l|0;r=(q|0)>-128?q:-128;q=(o^-128)<<24>>24;o=(n^-128)<<24>>24;n=(u?((r|0)<127?r:127)<<24>>24:0)+((q-o|0)*3|0)|0;r=(n|0)>-128?n:-128;n=(((((y|0)>-1?y:0-y|0)|0)/2|0)+(((z|0)>-1?z:0-z|0)<<1)|0)>(d[e>>0]|0|0)|(((((s|0)>-1?s:0-s|0)|0)>(t|0)?1:(((v|0)>-1?v:0-v|0)|0)>(t|0))|(x|0)>(t|0)|(A|0)>(t|0)|(((B|0)>-1?B:0-B|0)|0)>(t|0)|(((C|0)>-1?C:0-C|0)|0)>(t|0))?0:((r|0)<127?r:127)<<24>>24;r=n+4|0;t=(r|0)>-128?r:-128;r=n+3|0;n=(r|0)>-128?r:-128;r=((t|0)<127?t:127)<<24>>27;t=q-r|0;q=(t|0)>-128?t:-128;a[j>>0]=((q|0)<127?q:127)&255^-128;q=(((n|0)<127?n:127)<<24>>27)+o|0;o=(q|0)>-128?q:-128;a[m>>0]=((o|0)<127?o:127)&255^-128;o=((r+1|0)>>>1&(u?0:255))<<24>>24;u=l-o|0;l=(u|0)>-128?u:-128;a[p>>0]=((l|0)<127?l:127)&255^-128;l=o+w|0;w=(l|0)>-128?l:-128;a[k>>0]=((w|0)<127?w:127)&255^-128;h=h+1|0;if((h|0)>=(i|0))break;else j=j+c|0}return}j=0;h=b;w=a[b>>0]|0;while(1){b=h+-2|0;k=a[b>>0]|0;l=h+-1|0;o=a[l>>0]|0;p=h+1|0;u=a[p>>0]|0;r=d[h+-3>>0]|0;m=(d[h+-4>>0]|0)-r|0;q=d[f>>0]|0;n=k&255;t=r-n|0;r=o&255;C=n-r|0;B=(C|0)>-1?C:0-C|0;C=u&255;A=w&255;x=C-A|0;v=(x|0)>-1?x:0-x|0;x=d[h+2>>0]|0;s=x-C|0;z=(d[h+3>>0]|0)-x|0;x=r-A|0;A=n-C|0;C=d[g>>0]|0;n=(B|0)>(C|0)|(v|0)>(C|0);C=(k^-128)<<24>>24;k=(u^-128)<<24>>24;u=C-k|0;r=(u|0)>-128?u:-128;u=(w^-128)<<24>>24;y=(o^-128)<<24>>24;o=(n?((r|0)<127?r:127)<<24>>24:0)+((u-y|0)*3|0)|0;r=(o|0)>-128?o:-128;o=(((((A|0)>-1?A:0-A|0)|0)/2|0)+(((x|0)>-1?x:0-x|0)<<1)|0)>(d[e>>0]|0|0)|(((((m|0)>-1?m:0-m|0)|0)>(q|0)?1:(((t|0)>-1?t:0-t|0)|0)>(q|0))|(B|0)>(q|0)|(v|0)>(q|0)|(((s|0)>-1?s:0-s|0)|0)>(q|0)|(((z|0)>-1?z:0-z|0)|0)>(q|0))?0:((r|0)<127?r:127)<<24>>24;r=o+4|0;q=(r|0)>-128?r:-128;r=o+3|0;o=(r|0)>-128?r:-128;r=((q|0)<127?q:127)<<24>>27;q=u-r|0;u=(q|0)>-128?q:-128;a[h>>0]=((u|0)<127?u:127)&255^-128;u=(((o|0)<127?o:127)<<24>>27)+y|0;y=(u|0)>-128?u:-128;a[l>>0]=((y|0)<127?y:127)&255^-128;y=((r+1|0)>>>1&(n?0:255))<<24>>24;n=k-y|0;k=(n|0)>-128?n:-128;w=((k|0)<127?k:127)&255^-128;a[p>>0]=w;p=y+C|0;C=(p|0)>-128?p:-128;a[b>>0]=((C|0)<127?C:127)&255^-128;j=j+1|0;if((j|0)>=(i|0))break;else h=h+c|0}return}function fd(a,b,c,e,f,g){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;h=S(b,-4)|0;i=S(b,-3)|0;j=S(b,-2)|0;k=0-b|0;l=b<<1;m=b*3|0;n=0-m|0;o=0-l|0;p=g<<3;g=0;q=a;while(1){a=q+k|0;r=q+b|0;s=q+l|0;t=d[q+i>>0]|0;u=(d[q+h>>0]|0)-t|0;v=d[e>>0]|0;w=d[q+j>>0]|0;x=t-w|0;t=d[a>>0]|0;y=w-t|0;z=(y|0)>-1?y:0-y|0;y=d[r>>0]|0;A=d[q>>0]|0;B=y-A|0;C=(B|0)>-1?B:0-B|0;B=d[s>>0]|0;D=B-y|0;E=(d[q+m>>0]|0)-B|0;B=t-A|0;A=w-y|0;y=d[f>>0]|0;gd((((((((A|0)>-1?A:0-A|0)|0)/2|0)+(((B|0)>-1?B:0-B|0)<<1)|0)>(d[c>>0]|0|0)|(((((u|0)>-1?u:0-u|0)|0)>(v|0)?1:(((x|0)>-1?x:0-x|0)|0)>(v|0))|(z|0)>(v|0)|(C|0)>(v|0)|(((D|0)>-1?D:0-D|0)|0)>(v|0)|(((E|0)>-1?E:0-E|0)|0)>(v|0)))^1)<<31>>31,((z|0)>(y|0)|(C|0)>(y|0))<<31>>31,q+n|0,q+o|0,a,q,r,s);g=g+1|0;if((g|0)>=(p|0))break;else q=q+1|0}return}function gd(b,c,d,e,f,g,h,i){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;j=a[d>>0]^-128;k=a[i>>0]^-128;l=(a[e>>0]^-128)<<24>>24;m=(a[h>>0]^-128)<<24>>24;n=l-m|0;o=(n|0)>-128?n:-128;n=(a[g>>0]^-128)<<24>>24;p=(a[f>>0]^-128)<<24>>24;q=(((o|0)<127?o:127)<<24>>24)+((n-p|0)*3|0)|0;o=(q|0)>-128?q:-128;q=c&255;c=(((o|0)<127?o:127)&255&b)<<24>>24;b=(c&q)<<24>>24;o=b+4|0;r=(o|0)>-128?o:-128;o=b+3|0;b=(o|0)>-128?o:-128;o=n-(((r|0)<127?r:127)<<24>>27)|0;r=(o|0)>-128?o:-128;o=(((b|0)<127?b:127)<<24>>27)+p|0;p=(o|0)>-128?o:-128;o=(c&(q^255))<<24>>24;q=(o*27|0)+63>>7;c=(q|0)>-128?q:-128;q=((c|0)<127?c:127)<<24>>24;c=(((r|0)<127?r:127)<<24>>24)-q|0;r=(c|0)>-128?c:-128;a[g>>0]=((r|0)<127?r:127)&255^-128;r=(((p|0)<127?p:127)<<24>>24)+q|0;q=(r|0)>-128?r:-128;a[f>>0]=((q|0)<127?q:127)&255^-128;q=(o*18|0)+63>>7;f=(q|0)>-128?q:-128;q=((f|0)<127?f:127)<<24>>24;f=m-q|0;m=(f|0)>-128?f:-128;a[h>>0]=((m|0)<127?m:127)&255^-128;m=q+l|0;l=(m|0)>-128?m:-128;a[e>>0]=((l|0)<127?l:127)&255^-128;l=(o*9|0)+63>>7;o=(l|0)>-128?l:-128;l=((o|0)<127?o:127)<<24>>24;o=(k<<24>>24)-l|0;k=(o|0)>-128?o:-128;a[i>>0]=((k|0)<127?k:127)&255^-128;k=l+(j<<24>>24)|0;j=(k|0)>-128?k:-128;a[d>>0]=((j|0)<127?j:127)&255^-128;return}function hd(a,b,c,e,f,g){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;h=g<<3;g=0;i=a;while(1){a=i+-3|0;j=i+-2|0;k=i+-1|0;l=i+1|0;m=i+2|0;n=d[a>>0]|0;o=(d[i+-4>>0]|0)-n|0;p=d[e>>0]|0;q=d[j>>0]|0;r=n-q|0;n=d[k>>0]|0;s=q-n|0;t=(s|0)>-1?s:0-s|0;s=d[l>>0]|0;u=d[i>>0]|0;v=s-u|0;w=(v|0)>-1?v:0-v|0;v=d[m>>0]|0;x=v-s|0;y=(d[i+3>>0]|0)-v|0;v=n-u|0;u=q-s|0;s=d[f>>0]|0;gd((((((((u|0)>-1?u:0-u|0)|0)/2|0)+(((v|0)>-1?v:0-v|0)<<1)|0)>(d[c>>0]|0|0)|(((((o|0)>-1?o:0-o|0)|0)>(p|0)?1:(((r|0)>-1?r:0-r|0)|0)>(p|0))|(t|0)>(p|0)|(w|0)>(p|0)|(((x|0)>-1?x:0-x|0)|0)>(p|0)|(((y|0)>-1?y:0-y|0)|0)>(p|0)))^1)<<31>>31,((t|0)>(s|0)|(w|0)>(s|0))<<31>>31,a,j,k,i,l,m);g=g+1|0;if((g|0)>=(h|0))break;else i=i+b|0}return}function id(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=S(c,-2)|0;g=0-c|0;h=0-(c<<1)|0;i=0;j=b;while(1){b=j+g|0;k=a[b>>0]|0;l=a[j>>0]|0;m=a[j+c>>0]|0;n=(k&255)-(l&255)|0;o=(d[j+f>>0]|0)-(m&255)|0;p=((a[j+h>>0]^-128)<<24>>24)-((m^-128)<<24>>24)|0;m=(p|0)>-128?p:-128;p=(l^-128)<<24>>24;l=(k^-128)<<24>>24;k=(((m|0)<127?m:127)<<24>>24)+((p-l|0)*3|0)|0;m=(k|0)>-128?k:-128;k=(((((o|0)>-1?o:0-o|0)|0)/2|0)+(((n|0)>-1?n:0-n|0)<<1)|0)<=(d[e>>0]|0|0)?((m|0)<127?m:127)<<24>>24:0;m=k+4|0;n=(m|0)>-128?m:-128;m=p-(((n|0)<127?n:127)<<24>>27)|0;n=(m|0)>-128?m:-128;a[j>>0]=((n|0)<127?n:127)&255^-128;n=k+3|0;k=(n|0)>-128?n:-128;n=(((k|0)<127?k:127)<<24>>27)+l|0;l=(n|0)>-128?n:-128;a[b>>0]=((l|0)<127?l:127)&255^-128;i=i+1|0;if((i|0)==16)break;else j=j+1|0}return}function jd(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((c|0)!=1){f=0;g=b;while(1){h=a[g+-2>>0]|0;i=g+-1|0;j=a[i>>0]|0;k=a[g>>0]|0;l=a[g+1>>0]|0;m=(j&255)-(k&255)|0;n=(h&255)-(l&255)|0;o=((h^-128)<<24>>24)-((l^-128)<<24>>24)|0;l=(o|0)>-128?o:-128;o=(k^-128)<<24>>24;k=(j^-128)<<24>>24;j=(((l|0)<127?l:127)<<24>>24)+((o-k|0)*3|0)|0;l=(j|0)>-128?j:-128;j=(((((n|0)>-1?n:0-n|0)|0)/2|0)+(((m|0)>-1?m:0-m|0)<<1)|0)<=(d[e>>0]|0|0)?((l|0)<127?l:127)<<24>>24:0;l=j+4|0;m=(l|0)>-128?l:-128;l=o-(((m|0)<127?m:127)<<24>>27)|0;m=(l|0)>-128?l:-128;a[g>>0]=((m|0)<127?m:127)&255^-128;m=j+3|0;j=(m|0)>-128?m:-128;m=(((j|0)<127?j:127)<<24>>27)+k|0;k=(m|0)>-128?m:-128;a[i>>0]=((k|0)<127?k:127)&255^-128;f=f+1|0;if((f|0)==16)break;else g=g+c|0}return}g=0;f=b;k=a[b+-1>>0]|0;while(1){b=a[f+-2>>0]|0;i=a[f>>0]|0;m=a[f+1>>0]|0;j=(k&255)-(i&255)|0;l=(b&255)-(m&255)|0;o=((b^-128)<<24>>24)-((m^-128)<<24>>24)|0;m=(o|0)>-128?o:-128;o=(i^-128)<<24>>24;i=(k^-128)<<24>>24;b=(((m|0)<127?m:127)<<24>>24)+((o-i|0)*3|0)|0;m=(b|0)>-128?b:-128;b=(((((l|0)>-1?l:0-l|0)|0)/2|0)+(((j|0)>-1?j:0-j|0)<<1)|0)<=(d[e>>0]|0|0)?((m|0)<127?m:127)<<24>>24:0;m=b+4|0;j=(m|0)>-128?m:-128;m=o-(((j|0)<127?j:127)<<24>>27)|0;j=(m|0)>-128?m:-128;k=((j|0)<127?j:127)&255^-128;a[f>>0]=k;j=b+3|0;b=(j|0)>-128?j:-128;j=(((b|0)<127?b:127)<<24>>27)+i|0;i=(j|0)>-128?j:-128;a[f+-1>>0]=((i|0)<127?i:127)&255^-128;g=g+1|0;if((g|0)==16)break;else f=f+c|0}return}function kd(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=g+8|0;i=g+12|0;fd(a,e,c[g>>2]|0,c[h>>2]|0,c[i>>2]|0,2);if(b|0)fd(b,f,c[g>>2]|0,c[h>>2]|0,c[i>>2]|0,1);if(!d)return;fd(d,f,c[g>>2]|0,c[h>>2]|0,c[i>>2]|0,1);return}function ld(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=g+8|0;i=g+12|0;hd(a,e,c[g>>2]|0,c[h>>2]|0,c[i>>2]|0,2);if(b|0)hd(b,f,c[g>>2]|0,c[h>>2]|0,c[i>>2]|0,1);if(!d)return;hd(d,f,c[g>>2]|0,c[h>>2]|0,c[i>>2]|0,1);return}function md(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=g+4|0;i=g+8|0;j=g+12|0;dd(a+(e<<2)|0,e,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,2);dd(a+(e<<3)|0,e,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,2);dd(a+(e*12|0)|0,e,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,2);if(b|0)dd(b+(f<<2)|0,f,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,1);if(!d)return;dd(d+(f<<2)|0,f,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,1);return}function nd(a,b,c){a=a|0;b=b|0;c=c|0;id(a+(b<<2)|0,b,c);id(a+(b<<3)|0,b,c);id(a+(b*12|0)|0,b,c);return}function od(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=g+4|0;i=g+8|0;j=g+12|0;ed(a+4|0,e,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,2);ed(a+8|0,e,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,2);ed(a+12|0,e,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,2);if(b|0)ed(b+4|0,f,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,1);if(!d)return;ed(d+4|0,f,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,1);return}function pd(a,b,c){a=a|0;b=b|0;c=c|0;jd(a+4|0,b,c);jd(a+8|0,b,c);jd(a+12|0,b,c);return}function qd(a){a=a|0;var b=0,d=0;c[a+2152>>2]=a;c[a+2180>>2]=a+4;c[a+2208>>2]=a+8;c[a+2236>>2]=a+12;c[a+2264>>2]=a+64;c[a+2292>>2]=a+68;c[a+2320>>2]=a+72;c[a+2348>>2]=a+76;c[a+2376>>2]=a+128;c[a+2404>>2]=a+132;c[a+2432>>2]=a+136;c[a+2460>>2]=a+140;c[a+2488>>2]=a+192;c[a+2516>>2]=a+196;c[a+2544>>2]=a+200;c[a+2572>>2]=a+204;c[a+2600>>2]=a+256;c[a+2628>>2]=a+260;c[a+2656>>2]=a+288;c[a+2684>>2]=a+292;c[a+2712>>2]=a+320;c[a+2740>>2]=a+324;c[a+2768>>2]=a+352;c[a+2796>>2]=a+356;b=0;do{d=b<<4;c[a+2144+(b*28|0)>>2]=a+384+(d<<1);c[a+2144+(b*28|0)+4>>2]=a+1184+(d<<1);c[a+2144+(b*28|0)+20>>2]=a+1984+b;b=b+1|0}while((b|0)!=25);return}function rd(a){a=a|0;var b=0,d=0;c[a+2160>>2]=0;c[a+2188>>2]=4;c[a+2216>>2]=8;c[a+2244>>2]=12;b=c[a+2984>>2]|0;d=b<<2;c[a+2272>>2]=d;c[a+2300>>2]=d+4;c[a+2328>>2]=d+8;c[a+2356>>2]=d+12;d=b<<3;c[a+2384>>2]=d;c[a+2412>>2]=d|4;c[a+2440>>2]=d+8;c[a+2468>>2]=d+12;d=b*12|0;c[a+2496>>2]=d;c[a+2524>>2]=d+4;c[a+2552>>2]=d+8;c[a+2580>>2]=d+12;c[a+2608>>2]=0;c[a+2720>>2]=0;c[a+2636>>2]=4;c[a+2748>>2]=4;d=c[a+3004>>2]<<2;c[a+2664>>2]=d;c[a+2776>>2]=d;b=d+4|0;c[a+2692>>2]=b;c[a+2804>>2]=b;return}function sd(a,b){a=a|0;b=b|0;var d=0;d=b+a|0;return c[504+(((d|0)>127?127:(d|0)>0?d:0)<<2)>>2]|0}function td(a,b){a=a|0;b=b|0;var d=0;d=b+a|0;return c[504+(((d|0)>127?127:(d|0)>0?d:0)<<2)>>2]<<1|0}function ud(a,b){a=a|0;b=b|0;var d=0;d=b+a|0;a=c[504+(((d|0)>127?127:(d|0)>0?d:0)<<2)>>2]|0;return ((a|0)<132?a:132)|0}function vd(a){a=a|0;return c[1016+(((a|0)>127?127:(a|0)>0?a:0)<<2)>>2]|0}function wd(a,b){a=a|0;b=b|0;var d=0;d=b+a|0;a=(c[1016+(((d|0)>127?127:(d|0)>0?d:0)<<2)>>2]|0)*101581>>16;return ((a|0)>8?a:8)|0}function xd(a,b){a=a|0;b=b|0;var d=0;d=b+a|0;return c[1016+(((d|0)>127?127:(d|0)>0?d:0)<<2)>>2]|0}function yd(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;j=c[b+2900>>2]|0;k=c[b+2864>>2]|0;l=c[b+3088>>2]|0;m=c[l+4>>2]|0;n=m&65535;o=m>>>16&65535;do if(!(a[l+10>>0]|0)){p=n;q=o}else{r=m>>16;s=c[b+3184>>2]|0;if((r|0)>=(s+-152|0)){t=c[b+3188>>2]|0;if((r|0)>(t+144|0)){u=t+128|0;v=6}else w=o}else{u=s+-128|0;v=6}if((v|0)==6)w=u&65535;s=m<<16>>16;t=c[b+3192>>2]|0;if((s|0)<(t+-152|0))x=t+-128|0;else{t=c[b+3196>>2]|0;if((s|0)<=(t+144|0)){p=n;q=w;break}x=t+128|0}p=x&65535;q=w}while(0);w=p<<16>>16;x=q<<16>>16;n=j+(S(w>>3,k)|0)+(x>>3)|0;if(!(((q&65535)<<16|p&65535)&458759)){p=e;q=n;j=p+16|0;do{a[p>>0]=a[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(j|0));m=n+k|0;u=e+h|0;p=u;q=m;j=p+16|0;do{a[p>>0]=a[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(j|0));v=m+k|0;m=u+h|0;p=m;q=v;j=p+16|0;do{a[p>>0]=a[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(j|0));u=v+k|0;v=m+h|0;p=v;q=u;j=p+16|0;do{a[p>>0]=a[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(j|0));m=u+k|0;u=v+h|0;p=u;q=m;j=p+16|0;do{a[p>>0]=a[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(j|0));v=m+k|0;m=u+h|0;p=m;q=v;j=p+16|0;do{a[p>>0]=a[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(j|0));u=v+k|0;v=m+h|0;p=v;q=u;j=p+16|0;do{a[p>>0]=a[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(j|0));m=u+k|0;u=v+h|0;p=u;q=m;j=p+16|0;do{a[p>>0]=a[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(j|0));v=m+k|0;m=u+h|0;p=m;q=v;j=p+16|0;do{a[p>>0]=a[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(j|0));u=v+k|0;v=m+h|0;p=v;q=u;j=p+16|0;do{a[p>>0]=a[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(j|0));m=u+k|0;u=v+h|0;p=u;q=m;j=p+16|0;do{a[p>>0]=a[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(j|0));v=m+k|0;m=u+h|0;p=m;q=v;j=p+16|0;do{a[p>>0]=a[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(j|0));u=v+k|0;v=m+h|0;p=v;q=u;j=p+16|0;do{a[p>>0]=a[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(j|0));m=u+k|0;u=v+h|0;p=u;q=m;j=p+16|0;do{a[p>>0]=a[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(j|0));v=m+k|0;m=u+h|0;p=m;q=v;j=p+16|0;do{a[p>>0]=a[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(j|0));p=m+h|0;q=v+k|0;j=p+16|0;do{a[p>>0]=a[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(j|0))}else Bb[c[b+3212>>2]&15](n,k,x&7,w&7,e,h);h=c[b+2844>>2]|0;e=h&(((((w>>31|1)+w&65535)<<16>>16)/2|0)&65535);w=(((x>>31|1)+x<<16>>16|0)/2|0)&65535&h;h=k>>1;k=w<<16;x=(S(e<<16>>19,h)|0)+(k>>19)|0;n=(c[b+2904>>2]|0)+x|0;q=(c[b+2908>>2]|0)+x|0;if(!((k|e)&458759)){k=n;x=k;p=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;x=k+4|0;k=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;x=f;j=x;a[j>>0]=p;a[j+1>>0]=p>>8;a[j+2>>0]=p>>16;a[j+3>>0]=p>>24;p=x+4|0;a[p>>0]=k;a[p+1>>0]=k>>8;a[p+2>>0]=k>>16;a[p+3>>0]=k>>24;k=n+h|0;p=f+i|0;x=k;j=x;v=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;j=x+4|0;x=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;j=p;m=j;a[m>>0]=v;a[m+1>>0]=v>>8;a[m+2>>0]=v>>16;a[m+3>>0]=v>>24;v=j+4|0;a[v>>0]=x;a[v+1>>0]=x>>8;a[v+2>>0]=x>>16;a[v+3>>0]=x>>24;x=k+h|0;k=p+i|0;p=x;v=p;j=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;v=p+4|0;p=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;v=k;m=v;a[m>>0]=j;a[m+1>>0]=j>>8;a[m+2>>0]=j>>16;a[m+3>>0]=j>>24;j=v+4|0;a[j>>0]=p;a[j+1>>0]=p>>8;a[j+2>>0]=p>>16;a[j+3>>0]=p>>24;p=x+h|0;x=k+i|0;k=p;j=k;v=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;j=k+4|0;k=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;j=x;m=j;a[m>>0]=v;a[m+1>>0]=v>>8;a[m+2>>0]=v>>16;a[m+3>>0]=v>>24;v=j+4|0;a[v>>0]=k;a[v+1>>0]=k>>8;a[v+2>>0]=k>>16;a[v+3>>0]=k>>24;k=p+h|0;p=x+i|0;x=k;v=x;j=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;v=x+4|0;x=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;v=p;m=v;a[m>>0]=j;a[m+1>>0]=j>>8;a[m+2>>0]=j>>16;a[m+3>>0]=j>>24;j=v+4|0;a[j>>0]=x;a[j+1>>0]=x>>8;a[j+2>>0]=x>>16;a[j+3>>0]=x>>24;x=k+h|0;k=p+i|0;p=x;j=p;v=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;j=p+4|0;p=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;j=k;m=j;a[m>>0]=v;a[m+1>>0]=v>>8;a[m+2>>0]=v>>16;a[m+3>>0]=v>>24;v=j+4|0;a[v>>0]=p;a[v+1>>0]=p>>8;a[v+2>>0]=p>>16;a[v+3>>0]=p>>24;p=x+h|0;x=k+i|0;k=p;v=k;j=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;v=k+4|0;k=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;v=x;m=v;a[m>>0]=j;a[m+1>>0]=j>>8;a[m+2>>0]=j>>16;a[m+3>>0]=j>>24;j=v+4|0;a[j>>0]=k;a[j+1>>0]=k>>8;a[j+2>>0]=k>>16;a[j+3>>0]=k>>24;k=p+h|0;p=k;j=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;p=k+4|0;k=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;p=x+i|0;x=p;a[x>>0]=j;a[x+1>>0]=j>>8;a[x+2>>0]=j>>16;a[x+3>>0]=j>>24;j=p+4|0;a[j>>0]=k;a[j+1>>0]=k>>8;a[j+2>>0]=k>>16;a[j+3>>0]=k>>24;k=q;j=k;p=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;j=k+4|0;k=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;j=g;x=j;a[x>>0]=p;a[x+1>>0]=p>>8;a[x+2>>0]=p>>16;a[x+3>>0]=p>>24;p=j+4|0;a[p>>0]=k;a[p+1>>0]=k>>8;a[p+2>>0]=k>>16;a[p+3>>0]=k>>24;k=q+h|0;p=g+i|0;j=k;x=j;v=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;x=j+4|0;j=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;x=p;m=x;a[m>>0]=v;a[m+1>>0]=v>>8;a[m+2>>0]=v>>16;a[m+3>>0]=v>>24;v=x+4|0;a[v>>0]=j;a[v+1>>0]=j>>8;a[v+2>>0]=j>>16;a[v+3>>0]=j>>24;j=k+h|0;k=p+i|0;p=j;v=p;x=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;v=p+4|0;p=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;v=k;m=v;a[m>>0]=x;a[m+1>>0]=x>>8;a[m+2>>0]=x>>16;a[m+3>>0]=x>>24;x=v+4|0;a[x>>0]=p;a[x+1>>0]=p>>8;a[x+2>>0]=p>>16;a[x+3>>0]=p>>24;p=j+h|0;j=k+i|0;k=p;x=k;v=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;x=k+4|0;k=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;x=j;m=x;a[m>>0]=v;a[m+1>>0]=v>>8;a[m+2>>0]=v>>16;a[m+3>>0]=v>>24;v=x+4|0;a[v>>0]=k;a[v+1>>0]=k>>8;a[v+2>>0]=k>>16;a[v+3>>0]=k>>24;k=p+h|0;p=j+i|0;j=k;v=j;x=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;v=j+4|0;j=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;v=p;m=v;a[m>>0]=x;a[m+1>>0]=x>>8;a[m+2>>0]=x>>16;a[m+3>>0]=x>>24;x=v+4|0;a[x>>0]=j;a[x+1>>0]=j>>8;a[x+2>>0]=j>>16;a[x+3>>0]=j>>24;j=k+h|0;k=p+i|0;p=j;x=p;v=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;x=p+4|0;p=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;x=k;m=x;a[m>>0]=v;a[m+1>>0]=v>>8;a[m+2>>0]=v>>16;a[m+3>>0]=v>>24;v=x+4|0;a[v>>0]=p;a[v+1>>0]=p>>8;a[v+2>>0]=p>>16;a[v+3>>0]=p>>24;p=j+h|0;j=k+i|0;k=p;v=k;x=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;v=k+4|0;k=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;v=j;m=v;a[m>>0]=x;a[m+1>>0]=x>>8;a[m+2>>0]=x>>16;a[m+3>>0]=x>>24;x=v+4|0;a[x>>0]=k;a[x+1>>0]=k>>8;a[x+2>>0]=k>>16;a[x+3>>0]=k>>24;k=p+h|0;p=k;x=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;p=k+4|0;k=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;p=j+i|0;j=p;a[j>>0]=x;a[j+1>>0]=x>>8;a[j+2>>0]=x>>16;a[j+3>>0]=x>>24;x=p+4|0;a[x>>0]=k;a[x+1>>0]=k>>8;a[x+2>>0]=k>>16;a[x+3>>0]=k>>24;return}else{k=b+3208|0;b=w&7;w=e&7;Bb[c[k>>2]&15](n,h,b,w,f,i);Bb[c[k>>2]&15](q,h,b,w,g,i);return}}function zd(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0;f=e+3088|0;if((a[c[f>>2]>>0]|0)!=9){yd(e,c[e+3020>>2]|0,c[e+3024>>2]|0,c[e+3028>>2]|0,c[e+2984>>2]|0,c[e+3004>>2]|0);return}g=e+2844|0;h=e+3184|0;i=e+3188|0;j=e+3192|0;k=e+3196|0;l=0;do{m=l<<3;n=l<<1;o=n+16|0;p=n+20|0;n=0;do{q=(n<<1)+m|0;r=c[f>>2]|0;s=q|1;t=q+4|0;u=q+5|0;v=(b[r+12+(s<<2)>>1]|0)+(b[r+12+(q<<2)>>1]|0)+(b[r+12+(t<<2)>>1]|0)+(b[r+12+(u<<2)>>1]|0)|0;r=(((v>>31<<3|4)+v|0)/8|0)&c[g>>2];v=e+2144+((o+n|0)*28|0)+24|0;b[v>>1]=r;w=c[f>>2]|0;x=(b[w+12+(s<<2)+2>>1]|0)+(b[w+12+(q<<2)+2>>1]|0)+(b[w+12+(t<<2)+2>>1]|0)+(b[w+12+(u<<2)+2>>1]|0)|0;u=(((x>>31<<3|4)+x|0)/8|0)&c[g>>2];x=v+2|0;b[x>>1]=u;if(a[w+10>>0]|0){w=u<<16;u=c[h>>2]|0;t=(w>>15|0)<(u+-152|0)?u+-128>>1:w>>16;w=c[i>>2]|0;b[x>>1]=(t<<16>>15|0)>(w+144|0)?(w+128|0)>>>1:t;t=r<<16;r=c[j>>2]|0;w=(t>>15|0)<(r+-152|0)?r+-128>>1:t>>16;t=c[k>>2]|0;b[v>>1]=(w<<16>>15|0)>(t+144|0)?(t+128|0)>>>1:w}c[e+2144+((p+n|0)*28|0)+24>>2]=c[v>>2];n=n+1|0}while((n|0)!=2);l=l+1|0}while((l|0)!=2);l=c[e+3020>>2]|0;g=c[e+2900>>2]|0;n=c[f>>2]|0;p=e+2984|0;a:do if((d[n+8>>0]|0)<3){o=c[p>>2]|0;m=e+2168|0;v=c[n+12>>2]|0;c[m>>2]=v;w=e+2224|0;t=c[n+20>>2]|0;c[w>>2]=t;r=e+2392|0;x=c[n+44>>2]|0;c[r>>2]=x;u=e+2448|0;q=c[n+52>>2]|0;c[u>>2]=q;s=v>>>16&65535;y=v&65535;do if(!(a[n+10>>0]|0)){z=y;A=s}else{B=m+2|0;C=v>>16;D=c[h>>2]|0;E=D+-152|0;if((C|0)>=(E|0)){F=c[i>>2]|0;if((C|0)>(F+144|0)){G=F+128|0;H=16}else I=s}else{G=D+-128|0;H=16}if((H|0)==16){F=G&65535;b[B>>1]=F;I=F}F=v<<16>>16;B=c[j>>2]|0;C=B+-152|0;if((F|0)>=(C|0)){J=c[k>>2]|0;if((F|0)>(J+144|0)){K=J+128|0;H=21}else L=y}else{K=B+-128|0;H=21}if((H|0)==21){J=K&65535;b[m>>1]=J;L=J}J=w+2|0;F=t>>16;if((F|0)>=(E|0)){M=c[i>>2]|0;if((F|0)>(M+144|0)){N=M+128|0;H=26}}else{N=D+-128|0;H=26}if((H|0)==26)b[J>>1]=N;J=t<<16>>16;if((J|0)>=(C|0)){M=c[k>>2]|0;if((J|0)>(M+144|0)){O=M+128|0;H=31}}else{O=B+-128|0;H=31}if((H|0)==31)b[w>>1]=O;M=r+2|0;J=x>>16;if((J|0)>=(E|0)){F=c[i>>2]|0;if((J|0)>(F+144|0)){P=F+128|0;H=36}}else{P=D+-128|0;H=36}if((H|0)==36)b[M>>1]=P;M=x<<16>>16;if((M|0)>=(C|0)){F=c[k>>2]|0;if((M|0)>(F+144|0)){Q=F+128|0;H=41}}else{Q=B+-128|0;H=41}if((H|0)==41)b[r>>1]=Q;F=u+2|0;M=q>>16;if((M|0)>=(E|0)){E=c[i>>2]|0;if((M|0)>(E+144|0)){R=E+128|0;H=46}}else{R=D+-128|0;H=46}if((H|0)==46)b[F>>1]=R;F=q<<16>>16;if((F|0)<(C|0))T=B+-128|0;else{B=c[k>>2]|0;if((F|0)<=(B+144|0)){z=L;A=I;break}T=B+128|0}b[u>>1]=T;z=L;A=I}while(0);q=c[e+2160>>2]|0;x=l+q|0;t=z<<16>>16;m=A<<16>>16;y=g+q+(S(t>>3,o)|0)+(m>>3)|0;if(!((z|A)&7)){q=y;v=q;s=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;v=q+4|0;q=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;v=x;B=v;a[B>>0]=s;a[B+1>>0]=s>>8;a[B+2>>0]=s>>16;a[B+3>>0]=s>>24;s=v+4|0;a[s>>0]=q;a[s+1>>0]=q>>8;a[s+2>>0]=q>>16;a[s+3>>0]=q>>24;q=y+o|0;s=x+o|0;v=q;B=v;F=d[B>>0]|d[B+1>>0]<<8|d[B+2>>0]<<16|d[B+3>>0]<<24;B=v+4|0;v=d[B>>0]|d[B+1>>0]<<8|d[B+2>>0]<<16|d[B+3>>0]<<24;B=s;C=B;a[C>>0]=F;a[C+1>>0]=F>>8;a[C+2>>0]=F>>16;a[C+3>>0]=F>>24;F=B+4|0;a[F>>0]=v;a[F+1>>0]=v>>8;a[F+2>>0]=v>>16;a[F+3>>0]=v>>24;v=q+o|0;q=s+o|0;s=v;F=s;B=d[F>>0]|d[F+1>>0]<<8|d[F+2>>0]<<16|d[F+3>>0]<<24;F=s+4|0;s=d[F>>0]|d[F+1>>0]<<8|d[F+2>>0]<<16|d[F+3>>0]<<24;F=q;C=F;a[C>>0]=B;a[C+1>>0]=B>>8;a[C+2>>0]=B>>16;a[C+3>>0]=B>>24;B=F+4|0;a[B>>0]=s;a[B+1>>0]=s>>8;a[B+2>>0]=s>>16;a[B+3>>0]=s>>24;s=v+o|0;v=q+o|0;q=s;B=q;F=d[B>>0]|d[B+1>>0]<<8|d[B+2>>0]<<16|d[B+3>>0]<<24;B=q+4|0;q=d[B>>0]|d[B+1>>0]<<8|d[B+2>>0]<<16|d[B+3>>0]<<24;B=v;C=B;a[C>>0]=F;a[C+1>>0]=F>>8;a[C+2>>0]=F>>16;a[C+3>>0]=F>>24;F=B+4|0;a[F>>0]=q;a[F+1>>0]=q>>8;a[F+2>>0]=q>>16;a[F+3>>0]=q>>24;q=s+o|0;s=v+o|0;v=q;F=v;B=d[F>>0]|d[F+1>>0]<<8|d[F+2>>0]<<16|d[F+3>>0]<<24;F=v+4|0;v=d[F>>0]|d[F+1>>0]<<8|d[F+2>>0]<<16|d[F+3>>0]<<24;F=s;C=F;a[C>>0]=B;a[C+1>>0]=B>>8;a[C+2>>0]=B>>16;a[C+3>>0]=B>>24;B=F+4|0;a[B>>0]=v;a[B+1>>0]=v>>8;a[B+2>>0]=v>>16;a[B+3>>0]=v>>24;v=q+o|0;q=s+o|0;s=v;B=s;F=d[B>>0]|d[B+1>>0]<<8|d[B+2>>0]<<16|d[B+3>>0]<<24;B=s+4|0;s=d[B>>0]|d[B+1>>0]<<8|d[B+2>>0]<<16|d[B+3>>0]<<24;B=q;C=B;a[C>>0]=F;a[C+1>>0]=F>>8;a[C+2>>0]=F>>16;a[C+3>>0]=F>>24;F=B+4|0;a[F>>0]=s;a[F+1>>0]=s>>8;a[F+2>>0]=s>>16;a[F+3>>0]=s>>24;s=v+o|0;v=q+o|0;q=s;F=q;B=d[F>>0]|d[F+1>>0]<<8|d[F+2>>0]<<16|d[F+3>>0]<<24;F=q+4|0;q=d[F>>0]|d[F+1>>0]<<8|d[F+2>>0]<<16|d[F+3>>0]<<24;F=v;C=F;a[C>>0]=B;a[C+1>>0]=B>>8;a[C+2>>0]=B>>16;a[C+3>>0]=B>>24;B=F+4|0;a[B>>0]=q;a[B+1>>0]=q>>8;a[B+2>>0]=q>>16;a[B+3>>0]=q>>24;q=s+o|0;s=q;B=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;s=q+4|0;q=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;s=v+o|0;v=s;a[v>>0]=B;a[v+1>>0]=B>>8;a[v+2>>0]=B>>16;a[v+3>>0]=B>>24;B=s+4|0;a[B>>0]=q;a[B+1>>0]=q>>8;a[B+2>>0]=q>>16;a[B+3>>0]=q>>24}else Bb[c[e+3208>>2]&15](y,o,m&7,t&7,x,o);x=c[e+2216>>2]|0;t=l+x|0;m=b[w>>1]|0;y=m<<16>>16;q=g+x+(S(y>>3,o)|0)|0;x=b[w+2>>1]|0;B=x<<16>>16;s=q+(B>>3)|0;if(!((x|m)&7)){m=s;x=m;q=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;x=m+4|0;m=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;x=t;v=x;a[v>>0]=q;a[v+1>>0]=q>>8;a[v+2>>0]=q>>16;a[v+3>>0]=q>>24;q=x+4|0;a[q>>0]=m;a[q+1>>0]=m>>8;a[q+2>>0]=m>>16;a[q+3>>0]=m>>24;m=s+o|0;q=t+o|0;x=m;v=x;F=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;v=x+4|0;x=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;v=q;C=v;a[C>>0]=F;a[C+1>>0]=F>>8;a[C+2>>0]=F>>16;a[C+3>>0]=F>>24;F=v+4|0;a[F>>0]=x;a[F+1>>0]=x>>8;a[F+2>>0]=x>>16;a[F+3>>0]=x>>24;x=m+o|0;m=q+o|0;q=x;F=q;v=d[F>>0]|d[F+1>>0]<<8|d[F+2>>0]<<16|d[F+3>>0]<<24;F=q+4|0;q=d[F>>0]|d[F+1>>0]<<8|d[F+2>>0]<<16|d[F+3>>0]<<24;F=m;C=F;a[C>>0]=v;a[C+1>>0]=v>>8;a[C+2>>0]=v>>16;a[C+3>>0]=v>>24;v=F+4|0;a[v>>0]=q;a[v+1>>0]=q>>8;a[v+2>>0]=q>>16;a[v+3>>0]=q>>24;q=x+o|0;x=m+o|0;m=q;v=m;F=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;v=m+4|0;m=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;v=x;C=v;a[C>>0]=F;a[C+1>>0]=F>>8;a[C+2>>0]=F>>16;a[C+3>>0]=F>>24;F=v+4|0;a[F>>0]=m;a[F+1>>0]=m>>8;a[F+2>>0]=m>>16;a[F+3>>0]=m>>24;m=q+o|0;q=x+o|0;x=m;F=x;v=d[F>>0]|d[F+1>>0]<<8|d[F+2>>0]<<16|d[F+3>>0]<<24;F=x+4|0;x=d[F>>0]|d[F+1>>0]<<8|d[F+2>>0]<<16|d[F+3>>0]<<24;F=q;C=F;a[C>>0]=v;a[C+1>>0]=v>>8;a[C+2>>0]=v>>16;a[C+3>>0]=v>>24;v=F+4|0;a[v>>0]=x;a[v+1>>0]=x>>8;a[v+2>>0]=x>>16;a[v+3>>0]=x>>24;x=m+o|0;m=q+o|0;q=x;v=q;F=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;v=q+4|0;q=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;v=m;C=v;a[C>>0]=F;a[C+1>>0]=F>>8;a[C+2>>0]=F>>16;a[C+3>>0]=F>>24;F=v+4|0;a[F>>0]=q;a[F+1>>0]=q>>8;a[F+2>>0]=q>>16;a[F+3>>0]=q>>24;q=x+o|0;x=m+o|0;m=q;F=m;v=d[F>>0]|d[F+1>>0]<<8|d[F+2>>0]<<16|d[F+3>>0]<<24;F=m+4|0;m=d[F>>0]|d[F+1>>0]<<8|d[F+2>>0]<<16|d[F+3>>0]<<24;F=x;C=F;a[C>>0]=v;a[C+1>>0]=v>>8;a[C+2>>0]=v>>16;a[C+3>>0]=v>>24;v=F+4|0;a[v>>0]=m;a[v+1>>0]=m>>8;a[v+2>>0]=m>>16;a[v+3>>0]=m>>24;m=q+o|0;q=m;v=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;q=m+4|0;m=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;q=x+o|0;x=q;a[x>>0]=v;a[x+1>>0]=v>>8;a[x+2>>0]=v>>16;a[x+3>>0]=v>>24;v=q+4|0;a[v>>0]=m;a[v+1>>0]=m>>8;a[v+2>>0]=m>>16;a[v+3>>0]=m>>24}else Bb[c[e+3208>>2]&15](s,o,B&7,y&7,t,o);t=c[e+2384>>2]|0;y=l+t|0;B=b[r>>1]|0;s=B<<16>>16;m=g+t+(S(s>>3,o)|0)|0;t=b[r+2>>1]|0;v=t<<16>>16;q=m+(v>>3)|0;if(!((t|B)&7)){B=q;t=B;m=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24;t=B+4|0;B=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24;t=y;x=t;a[x>>0]=m;a[x+1>>0]=m>>8;a[x+2>>0]=m>>16;a[x+3>>0]=m>>24;m=t+4|0;a[m>>0]=B;a[m+1>>0]=B>>8;a[m+2>>0]=B>>16;a[m+3>>0]=B>>24;B=q+o|0;m=y+o|0;t=B;x=t;F=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;x=t+4|0;t=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;x=m;C=x;a[C>>0]=F;a[C+1>>0]=F>>8;a[C+2>>0]=F>>16;a[C+3>>0]=F>>24;F=x+4|0;a[F>>0]=t;a[F+1>>0]=t>>8;a[F+2>>0]=t>>16;a[F+3>>0]=t>>24;t=B+o|0;B=m+o|0;m=t;F=m;x=d[F>>0]|d[F+1>>0]<<8|d[F+2>>0]<<16|d[F+3>>0]<<24;F=m+4|0;m=d[F>>0]|d[F+1>>0]<<8|d[F+2>>0]<<16|d[F+3>>0]<<24;F=B;C=F;a[C>>0]=x;a[C+1>>0]=x>>8;a[C+2>>0]=x>>16;a[C+3>>0]=x>>24;x=F+4|0;a[x>>0]=m;a[x+1>>0]=m>>8;a[x+2>>0]=m>>16;a[x+3>>0]=m>>24;m=t+o|0;t=B+o|0;B=m;x=B;F=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;x=B+4|0;B=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;x=t;C=x;a[C>>0]=F;a[C+1>>0]=F>>8;a[C+2>>0]=F>>16;a[C+3>>0]=F>>24;F=x+4|0;a[F>>0]=B;a[F+1>>0]=B>>8;a[F+2>>0]=B>>16;a[F+3>>0]=B>>24;B=m+o|0;m=t+o|0;t=B;F=t;x=d[F>>0]|d[F+1>>0]<<8|d[F+2>>0]<<16|d[F+3>>0]<<24;F=t+4|0;t=d[F>>0]|d[F+1>>0]<<8|d[F+2>>0]<<16|d[F+3>>0]<<24;F=m;C=F;a[C>>0]=x;a[C+1>>0]=x>>8;a[C+2>>0]=x>>16;a[C+3>>0]=x>>24;x=F+4|0;a[x>>0]=t;a[x+1>>0]=t>>8;a[x+2>>0]=t>>16;a[x+3>>0]=t>>24;t=B+o|0;B=m+o|0;m=t;x=m;F=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;x=m+4|0;m=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;x=B;C=x;a[C>>0]=F;a[C+1>>0]=F>>8;a[C+2>>0]=F>>16;a[C+3>>0]=F>>24;F=x+4|0;a[F>>0]=m;a[F+1>>0]=m>>8;a[F+2>>0]=m>>16;a[F+3>>0]=m>>24;m=t+o|0;t=B+o|0;B=m;F=B;x=d[F>>0]|d[F+1>>0]<<8|d[F+2>>0]<<16|d[F+3>>0]<<24;F=B+4|0;B=d[F>>0]|d[F+1>>0]<<8|d[F+2>>0]<<16|d[F+3>>0]<<24;F=t;C=F;a[C>>0]=x;a[C+1>>0]=x>>8;a[C+2>>0]=x>>16;a[C+3>>0]=x>>24;x=F+4|0;a[x>>0]=B;a[x+1>>0]=B>>8;a[x+2>>0]=B>>16;a[x+3>>0]=B>>24;B=m+o|0;m=B;x=d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24;m=B+4|0;B=d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24;m=t+o|0;t=m;a[t>>0]=x;a[t+1>>0]=x>>8;a[t+2>>0]=x>>16;a[t+3>>0]=x>>24;x=m+4|0;a[x>>0]=B;a[x+1>>0]=B>>8;a[x+2>>0]=B>>16;a[x+3>>0]=B>>24}else Bb[c[e+3208>>2]&15](q,o,v&7,s&7,y,o);y=c[e+2440>>2]|0;s=l+y|0;v=b[u>>1]|0;q=v<<16>>16;B=g+y+(S(q>>3,o)|0)|0;y=b[u+2>>1]|0;x=y<<16>>16;m=B+(x>>3)|0;if(!((y|v)&7)){v=m;y=v;B=d[y>>0]|d[y+1>>0]<<8|d[y+2>>0]<<16|d[y+3>>0]<<24;y=v+4|0;v=d[y>>0]|d[y+1>>0]<<8|d[y+2>>0]<<16|d[y+3>>0]<<24;y=s;t=y;a[t>>0]=B;a[t+1>>0]=B>>8;a[t+2>>0]=B>>16;a[t+3>>0]=B>>24;B=y+4|0;a[B>>0]=v;a[B+1>>0]=v>>8;a[B+2>>0]=v>>16;a[B+3>>0]=v>>24;v=m+o|0;B=s+o|0;y=v;t=y;F=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24;t=y+4|0;y=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24;t=B;C=t;a[C>>0]=F;a[C+1>>0]=F>>8;a[C+2>>0]=F>>16;a[C+3>>0]=F>>24;F=t+4|0;a[F>>0]=y;a[F+1>>0]=y>>8;a[F+2>>0]=y>>16;a[F+3>>0]=y>>24;y=v+o|0;v=B+o|0;B=y;F=B;t=d[F>>0]|d[F+1>>0]<<8|d[F+2>>0]<<16|d[F+3>>0]<<24;F=B+4|0;B=d[F>>0]|d[F+1>>0]<<8|d[F+2>>0]<<16|d[F+3>>0]<<24;F=v;C=F;a[C>>0]=t;a[C+1>>0]=t>>8;a[C+2>>0]=t>>16;a[C+3>>0]=t>>24;t=F+4|0;a[t>>0]=B;a[t+1>>0]=B>>8;a[t+2>>0]=B>>16;a[t+3>>0]=B>>24;B=y+o|0;y=v+o|0;v=B;t=v;F=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24;t=v+4|0;v=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24;t=y;C=t;a[C>>0]=F;a[C+1>>0]=F>>8;a[C+2>>0]=F>>16;a[C+3>>0]=F>>24;F=t+4|0;a[F>>0]=v;a[F+1>>0]=v>>8;a[F+2>>0]=v>>16;a[F+3>>0]=v>>24;v=B+o|0;B=y+o|0;y=v;F=y;t=d[F>>0]|d[F+1>>0]<<8|d[F+2>>0]<<16|d[F+3>>0]<<24;F=y+4|0;y=d[F>>0]|d[F+1>>0]<<8|d[F+2>>0]<<16|d[F+3>>0]<<24;F=B;C=F;a[C>>0]=t;a[C+1>>0]=t>>8;a[C+2>>0]=t>>16;a[C+3>>0]=t>>24;t=F+4|0;a[t>>0]=y;a[t+1>>0]=y>>8;a[t+2>>0]=y>>16;a[t+3>>0]=y>>24;y=v+o|0;v=B+o|0;B=y;t=B;F=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24;t=B+4|0;B=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24;t=v;C=t;a[C>>0]=F;a[C+1>>0]=F>>8;a[C+2>>0]=F>>16;a[C+3>>0]=F>>24;F=t+4|0;a[F>>0]=B;a[F+1>>0]=B>>8;a[F+2>>0]=B>>16;a[F+3>>0]=B>>24;B=y+o|0;y=v+o|0;v=B;F=v;t=d[F>>0]|d[F+1>>0]<<8|d[F+2>>0]<<16|d[F+3>>0]<<24;F=v+4|0;v=d[F>>0]|d[F+1>>0]<<8|d[F+2>>0]<<16|d[F+3>>0]<<24;F=y;C=F;a[C>>0]=t;a[C+1>>0]=t>>8;a[C+2>>0]=t>>16;a[C+3>>0]=t>>24;t=F+4|0;a[t>>0]=v;a[t+1>>0]=v>>8;a[t+2>>0]=v>>16;a[t+3>>0]=v>>24;v=B+o|0;B=v;t=d[B>>0]|d[B+1>>0]<<8|d[B+2>>0]<<16|d[B+3>>0]<<24;B=v+4|0;v=d[B>>0]|d[B+1>>0]<<8|d[B+2>>0]<<16|d[B+3>>0]<<24;B=y+o|0;y=B;a[y>>0]=t;a[y+1>>0]=t>>8;a[y+2>>0]=t>>16;a[y+3>>0]=t>>24;t=B+4|0;a[t>>0]=v;a[t+1>>0]=v>>8;a[t+2>>0]=v>>16;a[t+3>>0]=v>>24;break}else{Bb[c[e+3208>>2]&15](m,o,x&7,q&7,s,o);break}}else{s=e+3204|0;q=e+3200|0;x=n;m=0;while(1){v=e+2144+(m*28|0)|0;t=m|1;B=e+2144+(t*28|0)|0;y=c[p>>2]|0;F=e+2144+(m*28|0)+24|0;C=c[x+12+(m<<2)>>2]|0;c[F>>2]=C;D=e+2144+(t*28|0)+24|0;E=c[(c[f>>2]|0)+12+(t<<2)>>2]|0;c[D>>2]=E;M=C>>>16&65535;do if(!(a[(c[f>>2]|0)+10>>0]|0))U=M;else{J=F+2|0;V=C>>16;W=c[h>>2]|0;if((V|0)>=(W+-152|0)){X=c[i>>2]|0;if((V|0)>(X+144|0)){Y=X+128|0;H=69}else Z=M}else{Y=W+-128|0;H=69}if((H|0)==69){H=0;W=Y&65535;b[J>>1]=W;Z=W}W=C<<16>>16;J=c[j>>2]|0;if((W|0)>=(J+-152|0)){X=c[k>>2]|0;if((W|0)>(X+144|0)){_=X+128|0;H=74}}else{_=J+-128|0;H=74}if((H|0)==74){H=0;b[F>>1]=_}J=D+2|0;X=E>>16;W=c[h>>2]|0;if((X|0)>=(W+-152|0)){V=c[i>>2]|0;if((X|0)>(V+144|0)){$=V+128|0;H=79}}else{$=W+-128|0;H=79}if((H|0)==79){H=0;b[J>>1]=$}J=E<<16>>16;W=c[j>>2]|0;if((J|0)<(W+-152|0))aa=W+-128|0;else{W=c[k>>2]|0;if((J|0)<=(W+144|0)){U=Z;break}aa=W+128|0}b[D>>1]=aa;U=Z}while(0);E=c[F>>2]|0;C=c[e+2144+(m*28|0)+16>>2]|0;M=l+C|0;do if((E|0)==(c[D>>2]|0)){W=U<<16>>16;J=g+C+(S(E<<16>>19,y)|0)+(W>>3)|0;if(!((E&65535|U)&7)){V=J;X=V;ba=d[X>>0]|d[X+1>>0]<<8|d[X+2>>0]<<16|d[X+3>>0]<<24;X=V+4|0;V=d[X>>0]|d[X+1>>0]<<8|d[X+2>>0]<<16|d[X+3>>0]<<24;X=M;ca=X;a[ca>>0]=ba;a[ca+1>>0]=ba>>8;a[ca+2>>0]=ba>>16;a[ca+3>>0]=ba>>24;ba=X+4|0;a[ba>>0]=V;a[ba+1>>0]=V>>8;a[ba+2>>0]=V>>16;a[ba+3>>0]=V>>24;V=J+y|0;ba=M+y|0;X=V;ca=X;da=d[ca>>0]|d[ca+1>>0]<<8|d[ca+2>>0]<<16|d[ca+3>>0]<<24;ca=X+4|0;X=d[ca>>0]|d[ca+1>>0]<<8|d[ca+2>>0]<<16|d[ca+3>>0]<<24;ca=ba;ea=ca;a[ea>>0]=da;a[ea+1>>0]=da>>8;a[ea+2>>0]=da>>16;a[ea+3>>0]=da>>24;da=ca+4|0;a[da>>0]=X;a[da+1>>0]=X>>8;a[da+2>>0]=X>>16;a[da+3>>0]=X>>24;X=V+y|0;V=ba+y|0;ba=X;da=ba;ca=d[da>>0]|d[da+1>>0]<<8|d[da+2>>0]<<16|d[da+3>>0]<<24;da=ba+4|0;ba=d[da>>0]|d[da+1>>0]<<8|d[da+2>>0]<<16|d[da+3>>0]<<24;da=V;ea=da;a[ea>>0]=ca;a[ea+1>>0]=ca>>8;a[ea+2>>0]=ca>>16;a[ea+3>>0]=ca>>24;ca=da+4|0;a[ca>>0]=ba;a[ca+1>>0]=ba>>8;a[ca+2>>0]=ba>>16;a[ca+3>>0]=ba>>24;ba=X+y|0;X=ba;ca=d[X>>0]|d[X+1>>0]<<8|d[X+2>>0]<<16|d[X+3>>0]<<24;X=ba+4|0;ba=d[X>>0]|d[X+1>>0]<<8|d[X+2>>0]<<16|d[X+3>>0]<<24;X=V+y|0;V=X;a[V>>0]=ca;a[V+1>>0]=ca>>8;a[V+2>>0]=ca>>16;a[V+3>>0]=ca>>24;ca=X+4|0;a[ca>>0]=ba;a[ca+1>>0]=ba>>8;a[ca+2>>0]=ba>>16;a[ca+3>>0]=ba>>24;break}else{Bb[c[s>>2]&15](J,y,W&7,E&7,M,y);break}}else{Ad(v,M,y,g,y,c[q>>2]|0);Ad(B,l+(c[e+2144+(t*28|0)+16>>2]|0)|0,y,g,y,c[q>>2]|0)}while(0);y=m+2|0;if((y|0)>=16)break a;x=c[f>>2]|0;m=y}}while(0);f=c[e+3024>>2]|0;g=c[e+2904>>2]|0;l=e+3004|0;U=e+3204|0;Z=e+3200|0;aa=c[l>>2]|0;k=c[e+2616>>2]|0;j=c[e+2608>>2]|0;do if((k|0)==(c[e+2644>>2]|0)){$=f+j|0;H=g+j+(S(k<<16>>19,aa)|0)|0;i=b[e+2616+2>>1]|0;h=i<<16>>16;_=H+(h>>3)|0;if(!((i|k&65535)&7)){i=_;H=i;Y=d[H>>0]|d[H+1>>0]<<8|d[H+2>>0]<<16|d[H+3>>0]<<24;H=i+4|0;i=d[H>>0]|d[H+1>>0]<<8|d[H+2>>0]<<16|d[H+3>>0]<<24;H=$;p=H;a[p>>0]=Y;a[p+1>>0]=Y>>8;a[p+2>>0]=Y>>16;a[p+3>>0]=Y>>24;Y=H+4|0;a[Y>>0]=i;a[Y+1>>0]=i>>8;a[Y+2>>0]=i>>16;a[Y+3>>0]=i>>24;i=_+aa|0;Y=$+aa|0;H=i;p=H;n=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;p=H+4|0;H=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;p=Y;A=p;a[A>>0]=n;a[A+1>>0]=n>>8;a[A+2>>0]=n>>16;a[A+3>>0]=n>>24;n=p+4|0;a[n>>0]=H;a[n+1>>0]=H>>8;a[n+2>>0]=H>>16;a[n+3>>0]=H>>24;H=i+aa|0;i=Y+aa|0;Y=H;n=Y;p=d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24;n=Y+4|0;Y=d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24;n=i;A=n;a[A>>0]=p;a[A+1>>0]=p>>8;a[A+2>>0]=p>>16;a[A+3>>0]=p>>24;p=n+4|0;a[p>>0]=Y;a[p+1>>0]=Y>>8;a[p+2>>0]=Y>>16;a[p+3>>0]=Y>>24;Y=H+aa|0;H=Y;p=d[H>>0]|d[H+1>>0]<<8|d[H+2>>0]<<16|d[H+3>>0]<<24;H=Y+4|0;Y=d[H>>0]|d[H+1>>0]<<8|d[H+2>>0]<<16|d[H+3>>0]<<24;H=i+aa|0;i=H;a[i>>0]=p;a[i+1>>0]=p>>8;a[i+2>>0]=p>>16;a[i+3>>0]=p>>24;p=H+4|0;a[p>>0]=Y;a[p+1>>0]=Y>>8;a[p+2>>0]=Y>>16;a[p+3>>0]=Y>>24;break}else{Bb[c[U>>2]&15](_,aa,h&7,k&7,$,aa);break}}else{Ad(e+2592|0,f+j|0,aa,g,aa,c[Z>>2]|0);Ad(e+2620|0,f+(c[e+2636>>2]|0)|0,aa,g,aa,c[Z>>2]|0)}while(0);aa=c[l>>2]|0;j=c[e+2672>>2]|0;k=c[e+2664>>2]|0;do if((j|0)==(c[e+2700>>2]|0)){$=f+k|0;h=g+k+(S(j<<16>>19,aa)|0)|0;_=b[e+2672+2>>1]|0;Y=_<<16>>16;p=h+(Y>>3)|0;if(!((_|j&65535)&7)){_=p;h=_;H=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;h=_+4|0;_=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;h=$;i=h;a[i>>0]=H;a[i+1>>0]=H>>8;a[i+2>>0]=H>>16;a[i+3>>0]=H>>24;H=h+4|0;a[H>>0]=_;a[H+1>>0]=_>>8;a[H+2>>0]=_>>16;a[H+3>>0]=_>>24;_=p+aa|0;H=$+aa|0;h=_;i=h;n=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;i=h+4|0;h=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;i=H;A=i;a[A>>0]=n;a[A+1>>0]=n>>8;a[A+2>>0]=n>>16;a[A+3>>0]=n>>24;n=i+4|0;a[n>>0]=h;a[n+1>>0]=h>>8;a[n+2>>0]=h>>16;a[n+3>>0]=h>>24;h=_+aa|0;_=H+aa|0;H=h;n=H;i=d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24;n=H+4|0;H=d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24;n=_;A=n;a[A>>0]=i;a[A+1>>0]=i>>8;a[A+2>>0]=i>>16;a[A+3>>0]=i>>24;i=n+4|0;a[i>>0]=H;a[i+1>>0]=H>>8;a[i+2>>0]=H>>16;a[i+3>>0]=H>>24;H=h+aa|0;h=H;i=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;h=H+4|0;H=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;h=_+aa|0;_=h;a[_>>0]=i;a[_+1>>0]=i>>8;a[_+2>>0]=i>>16;a[_+3>>0]=i>>24;i=h+4|0;a[i>>0]=H;a[i+1>>0]=H>>8;a[i+2>>0]=H>>16;a[i+3>>0]=H>>24;break}else{Bb[c[U>>2]&15](p,aa,Y&7,j&7,$,aa);break}}else{Ad(e+2648|0,f+k|0,aa,g,aa,c[Z>>2]|0);Ad(e+2676|0,f+(c[e+2692>>2]|0)|0,aa,g,aa,c[Z>>2]|0)}while(0);aa=c[e+3028>>2]|0;g=c[e+2908>>2]|0;f=c[l>>2]|0;k=c[e+2728>>2]|0;j=c[e+2720>>2]|0;do if((k|0)==(c[e+2756>>2]|0)){$=aa+j|0;Y=g+j+(S(k<<16>>19,f)|0)|0;p=b[e+2728+2>>1]|0;H=p<<16>>16;i=Y+(H>>3)|0;if(!((p|k&65535)&7)){p=i;Y=p;h=d[Y>>0]|d[Y+1>>0]<<8|d[Y+2>>0]<<16|d[Y+3>>0]<<24;Y=p+4|0;p=d[Y>>0]|d[Y+1>>0]<<8|d[Y+2>>0]<<16|d[Y+3>>0]<<24;Y=$;_=Y;a[_>>0]=h;a[_+1>>0]=h>>8;a[_+2>>0]=h>>16;a[_+3>>0]=h>>24;h=Y+4|0;a[h>>0]=p;a[h+1>>0]=p>>8;a[h+2>>0]=p>>16;a[h+3>>0]=p>>24;p=i+f|0;h=$+f|0;Y=p;_=Y;n=d[_>>0]|d[_+1>>0]<<8|d[_+2>>0]<<16|d[_+3>>0]<<24;_=Y+4|0;Y=d[_>>0]|d[_+1>>0]<<8|d[_+2>>0]<<16|d[_+3>>0]<<24;_=h;A=_;a[A>>0]=n;a[A+1>>0]=n>>8;a[A+2>>0]=n>>16;a[A+3>>0]=n>>24;n=_+4|0;a[n>>0]=Y;a[n+1>>0]=Y>>8;a[n+2>>0]=Y>>16;a[n+3>>0]=Y>>24;Y=p+f|0;p=h+f|0;h=Y;n=h;_=d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24;n=h+4|0;h=d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24;n=p;A=n;a[A>>0]=_;a[A+1>>0]=_>>8;a[A+2>>0]=_>>16;a[A+3>>0]=_>>24;_=n+4|0;a[_>>0]=h;a[_+1>>0]=h>>8;a[_+2>>0]=h>>16;a[_+3>>0]=h>>24;h=Y+f|0;Y=h;_=d[Y>>0]|d[Y+1>>0]<<8|d[Y+2>>0]<<16|d[Y+3>>0]<<24;Y=h+4|0;h=d[Y>>0]|d[Y+1>>0]<<8|d[Y+2>>0]<<16|d[Y+3>>0]<<24;Y=p+f|0;p=Y;a[p>>0]=_;a[p+1>>0]=_>>8;a[p+2>>0]=_>>16;a[p+3>>0]=_>>24;_=Y+4|0;a[_>>0]=h;a[_+1>>0]=h>>8;a[_+2>>0]=h>>16;a[_+3>>0]=h>>24;break}else{Bb[c[U>>2]&15](i,f,H&7,k&7,$,f);break}}else{Ad(e+2704|0,aa+j|0,f,g,f,c[Z>>2]|0);Ad(e+2732|0,aa+(c[e+2748>>2]|0)|0,f,g,f,c[Z>>2]|0)}while(0);f=c[l>>2]|0;l=c[e+2784>>2]|0;j=c[e+2776>>2]|0;if((l|0)!=(c[e+2812>>2]|0)){Ad(e+2760|0,aa+j|0,f,g,f,c[Z>>2]|0);Ad(e+2788|0,aa+(c[e+2804>>2]|0)|0,f,g,f,c[Z>>2]|0);return}Z=aa+j|0;aa=g+j+(S(l<<16>>19,f)|0)|0;j=b[e+2784+2>>1]|0;e=j<<16>>16;g=aa+(e>>3)|0;if(!((j|l&65535)&7)){j=g;aa=j;k=d[aa>>0]|d[aa+1>>0]<<8|d[aa+2>>0]<<16|d[aa+3>>0]<<24;aa=j+4|0;j=d[aa>>0]|d[aa+1>>0]<<8|d[aa+2>>0]<<16|d[aa+3>>0]<<24;aa=Z;$=aa;a[$>>0]=k;a[$+1>>0]=k>>8;a[$+2>>0]=k>>16;a[$+3>>0]=k>>24;k=aa+4|0;a[k>>0]=j;a[k+1>>0]=j>>8;a[k+2>>0]=j>>16;a[k+3>>0]=j>>24;j=g+f|0;k=Z+f|0;aa=j;$=aa;H=d[$>>0]|d[$+1>>0]<<8|d[$+2>>0]<<16|d[$+3>>0]<<24;$=aa+4|0;aa=d[$>>0]|d[$+1>>0]<<8|d[$+2>>0]<<16|d[$+3>>0]<<24;$=k;i=$;a[i>>0]=H;a[i+1>>0]=H>>8;a[i+2>>0]=H>>16;a[i+3>>0]=H>>24;H=$+4|0;a[H>>0]=aa;a[H+1>>0]=aa>>8;a[H+2>>0]=aa>>16;a[H+3>>0]=aa>>24;aa=j+f|0;j=k+f|0;k=aa;H=k;$=d[H>>0]|d[H+1>>0]<<8|d[H+2>>0]<<16|d[H+3>>0]<<24;H=k+4|0;k=d[H>>0]|d[H+1>>0]<<8|d[H+2>>0]<<16|d[H+3>>0]<<24;H=j;i=H;a[i>>0]=$;a[i+1>>0]=$>>8;a[i+2>>0]=$>>16;a[i+3>>0]=$>>24;$=H+4|0;a[$>>0]=k;a[$+1>>0]=k>>8;a[$+2>>0]=k>>16;a[$+3>>0]=k>>24;k=aa+f|0;aa=k;$=d[aa>>0]|d[aa+1>>0]<<8|d[aa+2>>0]<<16|d[aa+3>>0]<<24;aa=k+4|0;k=d[aa>>0]|d[aa+1>>0]<<8|d[aa+2>>0]<<16|d[aa+3>>0]<<24;aa=j+f|0;j=aa;a[j>>0]=$;a[j+1>>0]=$>>8;a[j+2>>0]=$>>16;a[j+3>>0]=$>>24;$=aa+4|0;a[$>>0]=k;a[$+1>>0]=k>>8;a[$+2>>0]=k>>16;a[$+3>>0]=k>>24;return}else{Bb[c[U>>2]&15](g,f,e&7,l&7,Z,f);return}}function Ad(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;j=d+24|0;k=b[j>>1]|0;l=k<<16>>16;m=g+(c[d+16>>2]|0)+(S(l>>3,h)|0)|0;d=b[j+2>>1]|0;j=d<<16>>16;g=m+(j>>3)|0;if(!((d|k)&7)){a[e>>0]=a[g>>0]|0;a[e+1>>0]=a[g+1>>0]|0;a[e+2>>0]=a[g+2>>0]|0;a[e+3>>0]=a[g+3>>0]|0;k=e+f|0;d=g+h|0;a[k>>0]=a[d>>0]|0;a[k+1>>0]=a[d+1>>0]|0;a[k+2>>0]=a[d+2>>0]|0;a[k+3>>0]=a[d+3>>0]|0;m=k+f|0;k=d+h|0;a[m>>0]=a[k>>0]|0;a[m+1>>0]=a[k+1>>0]|0;a[m+2>>0]=a[k+2>>0]|0;a[m+3>>0]=a[k+3>>0]|0;d=m+f|0;m=k+h|0;a[d>>0]=a[m>>0]|0;a[d+1>>0]=a[m+1>>0]|0;a[d+2>>0]=a[m+2>>0]|0;a[d+3>>0]=a[m+3>>0]|0;return}else{Bb[i&15](g,h,j&7,l&7,e,f);return}}function Bd(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0;i=l;l=l+16|0;j=i;k=a[c[b+3088>>2]>>0]|0;a[j>>0]=a[e>>0]|0;a[j+1>>0]=a[e+f>>0]|0;a[j+2>>0]=a[e+(f<<1)>>0]|0;a[j+3>>0]=a[e+(f*3|0)>>0]|0;a[j+4>>0]=a[e+(f<<2)>>0]|0;a[j+5>>0]=a[e+(f*5|0)>>0]|0;a[j+6>>0]=a[e+(f*6|0)>>0]|0;a[j+7>>0]=a[e+(f*7|0)>>0]|0;a[j+8>>0]=a[e+(f<<3)>>0]|0;a[j+9>>0]=a[e+(f*9|0)>>0]|0;a[j+10>>0]=a[e+(f*10|0)>>0]|0;a[j+11>>0]=a[e+(f*11|0)>>0]|0;a[j+12>>0]=a[e+(f*12|0)>>0]|0;a[j+13>>0]=a[e+(f*13|0)>>0]|0;a[j+14>>0]=a[e+(f*14|0)>>0]|0;a[j+15>>0]=a[e+(f*15|0)>>0]|0;if(!(k<<24>>24)){m=9652+(c[b+3104>>2]<<4)+(c[b+3100>>2]<<3)|0;n=c[m>>2]|0;Eb[n&31](g,h,d,j);l=i;return}else{m=9684+((k&255)<<3)|0;n=c[m>>2]|0;Eb[n&31](g,h,d,j);l=i;return}}function Cd(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0;m=l;l=l+16|0;n=m+8|0;o=m;p=a[(c[b+3088>>2]|0)+1>>0]|0;a[n>>0]=a[f>>0]|0;a[o>>0]=a[g>>0]|0;a[n+1>>0]=a[f+h>>0]|0;a[o+1>>0]=a[g+h>>0]|0;q=h<<1;a[n+2>>0]=a[f+q>>0]|0;a[o+2>>0]=a[g+q>>0]|0;q=h*3|0;a[n+3>>0]=a[f+q>>0]|0;a[o+3>>0]=a[g+q>>0]|0;q=h<<2;a[n+4>>0]=a[f+q>>0]|0;a[o+4>>0]=a[g+q>>0]|0;q=h*5|0;a[n+5>>0]=a[f+q>>0]|0;a[o+5>>0]=a[g+q>>0]|0;q=h*6|0;a[n+6>>0]=a[f+q>>0]|0;a[o+6>>0]=a[g+q>>0]|0;q=h*7|0;a[n+7>>0]=a[f+q>>0]|0;a[o+7>>0]=a[g+q>>0]|0;if(!(p<<24>>24)){r=9652+(c[b+3104>>2]<<4)+(c[b+3100>>2]<<3)+4|0;s=c[r>>2]|0;Eb[s&31](i,k,d,n);Eb[s&31](j,k,e,o);l=m;return}else{r=9684+((p&255)<<3)+4|0;s=c[r>>2]|0;Eb[s&31](i,k,d,n);Eb[s&31](j,k,e,o);l=m;return}}function Dd(){xg(9716,4)|0;return}function Ed(){c[2423]=1;c[2425]=2;c[2427]=3;c[2413]=4;c[2415]=5;c[2417]=6;c[2419]=7;c[2424]=8;c[2426]=9;c[2428]=10;c[2414]=11;c[2416]=12;c[2418]=13;c[2420]=14;Fd();return}function Fd(){c[2430]=15;c[2431]=16;c[2432]=17;c[2433]=18;c[2434]=19;c[2435]=20;c[2436]=21;c[2437]=22;c[2438]=23;c[2439]=24;return}function Gd(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0;k=l;l=l+16|0;m=k+4|0;n=k;o=m+4|0;a[n>>0]=a[e>>0]|0;a[n+1>>0]=a[e+f>>0]|0;a[n+2>>0]=a[e+(f<<1)>>0]|0;a[n+3>>0]=a[e+(f*3|0)>>0]|0;f=b;b=f;e=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;b=f+4|0;f=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;b=o;p=b;a[p>>0]=e;a[p+1>>0]=e>>8;a[p+2>>0]=e>>16;a[p+3>>0]=e>>24;e=b+4|0;a[e>>0]=f;a[e+1>>0]=f>>8;a[e+2>>0]=f>>16;a[e+3>>0]=f>>24;a[m+3>>0]=j;Eb[c[9720+(g<<2)>>2]&31](h,i,o,n);l=k;return}
function Hd(a){a=a|0;var b=0,d=0;Sg((c[a+52>>2]|0)+-1+(0-(c[a+16>>2]|0))|0,127,(c[a>>2]|0)+5|0)|0;b=a+36|0;d=a+20|0;Sg((c[a+56>>2]|0)+-1+(0-(c[b>>2]|0))|0,127,(c[d>>2]|0)+5|0)|0;Sg((c[a+60>>2]|0)+-1+(0-(c[b>>2]|0))|0,127,(c[d>>2]|0)+5|0)|0;return}function Id(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=l;l=l+128|0;e=d;f=(c[b>>2]|0)+(4-1)&~(4-1);g=c[f>>2]|0;c[b>>2]=f+4;if(!g){h=8;l=d;return h|0}f=c[g+28>>2]|0;b=c[g+32>>2]|0;i=(f+1|0)>>>1;j=(b+1|0)>>>1;c[e+52>>2]=c[g+52>>2];c[e+56>>2]=c[g+56>>2];c[e+60>>2]=c[g+60>>2];c[e+8>>2]=f;c[e+12>>2]=b;c[e>>2]=f;c[e+4>>2]=b;c[e+28>>2]=i;c[e+32>>2]=j;c[e+20>>2]=i;c[e+24>>2]=j;j=c[g+68>>2]|0;c[e+16>>2]=j;c[e+36>>2]=c[g+72>>2];c[e+76>>2]=(j-f|0)>>>1;h=ge(c[a+348>>2]|0,c[g>>2]|0,e)|0;l=d;return h|0}function Jd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=l;l=l+128|0;e=d;f=(c[b>>2]|0)+(4-1)&~(4-1);g=c[f>>2]|0;c[b>>2]=f+4;if(!g){h=8;l=d;return h|0}f=c[g+28>>2]|0;b=c[g+32>>2]|0;i=(f+1|0)>>>1;j=(b+1|0)>>>1;c[e+52>>2]=c[g+52>>2];c[e+56>>2]=c[g+56>>2];c[e+60>>2]=c[g+60>>2];c[e+8>>2]=f;c[e+12>>2]=b;c[e>>2]=f;c[e+4>>2]=b;c[e+28>>2]=i;c[e+32>>2]=j;c[e+20>>2]=i;c[e+24>>2]=j;j=c[g+68>>2]|0;c[e+16>>2]=j;c[e+36>>2]=c[g+72>>2];c[e+76>>2]=(j-f|0)>>>1;h=fe(c[a+348>>2]|0,c[g>>2]|0,e)|0;l=d;return h|0}function Kd(a,b){a=a|0;b=b|0;return 4}function Ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=(c[b>>2]|0)+(4-1)&~(4-1);e=c[d>>2]|0;c[b>>2]=d+4;if(!e){f=8;return f|0}d=c[a+348>>2]|0;c[e>>2]=(c[d+9152>>2]<<1)+(c[d+9156>>2]<<2)+(c[d+9148>>2]|0);f=0;return f|0}function Md(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=(c[b>>2]|0)+(4-1)&~(4-1);e=c[d>>2]|0;c[b>>2]=d+4;d=c[a+348>>2]|0;if(!((e|0)!=0&(d|0)!=0)){f=8;return f|0}a=c[d+5060>>2]|0;if(!a){f=1;return f|0}c[e>>2]=c[a+112>>2];f=0;return f|0}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=(c[b>>2]|0)+(4-1)&~(4-1);e=c[d>>2]|0;c[b>>2]=d+4;if(!e){f=8;return f|0}d=(c[a+348>>2]|0)+3248|0;a=(je(d,3)|0)!=0;b=(je(d,2)|0)!=0;c[e>>2]=(b?2:0)|(a?4:0)|(je(d,1)|0)!=0;f=0;return f|0}function Od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=(c[b>>2]|0)+(4-1)&~(4-1);e=c[d>>2]|0;c[b>>2]=d+4;if(!e){c[a+232>>2]=0;f=0;g=a+236|0;c[g>>2]=f;return 0}else{c[a+232>>2]=c[e>>2];f=c[e+4>>2]|0;g=a+236|0;c[g>>2]=f;return 0}return 0}function Pd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;Zc();yc();_b();b=a+24|0;if(c[b>>2]|0){d=0;return d|0}e=Tb(1,560)|0;if(!e){d=2;return d|0}c[b>>2]=e;c[e+4>>2]=c[a+16>>2];c[e+196>>2]=16;c[e+232>>2]=0;c[e+236>>2]=0;f=a+20|0;a=c[f>>2]|0;if(!a)g=e;else{h=e+184|0;c[h>>2]=c[a>>2];c[h+4>>2]=c[a+4>>2];c[h+8>>2]=c[a+8>>2];c[f>>2]=h;g=c[b>>2]|0}c[g+484>>2]=0;c[g+480>>2]=c[g+4>>2]&262144;d=0;return d|0}function Qd(a){a=a|0;ne(a+348|0)|0;Ub(a);return 0}function Rd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0;if((e|0)<1){g=8;return g|0}h=f+12|0;c[h>>2]=0;if(e>>>0<=9){g=5;return g|0}if(a[b>>0]&1){g=5;return g|0}c[h>>2]=1;if((a[b+3>>0]|0)!=-99){g=5;return g|0}if((a[b+4>>0]|0)!=1){g=5;return g|0}if((a[b+5>>0]|0)!=42){g=5;return g|0}h=d[b+7>>0]<<8&16128|d[b+6>>0];c[f+4>>2]=h;e=d[b+9>>0]<<8&16128|d[b+8>>0];c[f+8>>2]=e;g=(h|0)==0|(e|0)==0?7:0;return g|0}function Sd(a,b){a=a|0;b=b|0;var d=0;d=a+196|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b>>2]=16;return 0}function Td(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ca=0,da=0,fa=0,ga=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0;i=l;l=l+64|0;j=i+16|0;k=i+8|0;m=i;n=4;q=Kg(40)|0;c[q>>2]=0;r=i+48|0;s=i+24|0;t=b+480|0;u=c[t>>2]|0;v=(e|0)==0;if(v&(u|f|0)==0){w=0;Lg(q|0);l=i;return w|0}x=b+484|0;y=c[x>>2]|0;if(!y){z=b+488|0;A=z+72|0;do{c[z>>2]=0;z=z+4|0}while((z|0)<(A|0))}B=(u|0)!=0;if(!(v&(f|0)==0|B^1)){c[b+488+(y<<2)>>2]=e;c[b+524+(c[x>>2]<<2)>>2]=f;y=(c[x>>2]|0)+1|0;v=y>>>0>9;c[x>>2]=v?0:y;Lg(q|0);l=i;return (v?8:0)|0}v=b+488|0;if(B){C=c[v>>2]|0;E=c[b+524>>2]|0}else{c[v>>2]=e;c[b+524>>2]=f;c[x>>2]=1;C=e;E=f}v=b+200|0;B=c[v>>2]|0;y=b+204|0;u=c[y>>2]|0;F=b+232|0;G=c[F>>2]|0;H=b+236|0;I=c[H>>2]|0;do if((E|0)<1){J=8;K=21}else{if(!G)L=C;else{o=0;ja(G|0,I|0,C|0,r|0,(E>>>0<10?E:10)|0);M=o;o=0;if((M|0)!=0&(p|0)!=0){N=Wg(c[M>>2]|0,q|0,n|0)|0;if(!N)wa(M|0,p|0);D=p}else N=-1;if((N|0)==1){O=D;P=0;Q=0;R=0;S=0;T=0;U=0;V=0;break}L=r}M=b+208|0;c[M>>2]=0;if(E>>>0>9?(a[L>>0]&1)==0:0){c[M>>2]=1;if(((a[L+3>>0]|0)==-99?(a[L+4>>0]|0)==1:0)?(a[L+5>>0]|0)==42:0){M=d[L+7>>0]<<8&16128|d[L+6>>0];c[v>>2]=M;W=d[L+9>>0]<<8&16128|d[L+8>>0];c[y>>2]=W;J=(M|0)==0|(W|0)==0?7:0;K=21;break}J=5;K=21;break}J=0;K=21}while(0);do if((K|0)==21){L=b+212|0;E=c[L>>2]|0;r=(E|0)==0;if(r)X=(c[b+208>>2]|0)==0?5:J;else X=J;N=c[y>>2]|0;if((N|0)==(u|0)?(c[v>>2]|0)==(B|0):0)Y=0;else Y=1;if(!X)if(r){c[s>>2]=c[v>>2];c[s+4>>2]=N;c[s+8>>2]=9;c[s+12>>2]=0;c[s+16>>2]=c[b+184>>2];N=c[b+4>>2]|0;c[s+20>>2]=N&131072;if(!((c[b+216>>2]|0)!=0|(N&65536|0)==0)){c[b+220>>2]=1027;c[b+224>>2]=4;c[b+228>>2]=0}o=0;N=ha(11,b+348|0,s|0)|0;r=o;o=0;if((r|0)!=0&(p|0)!=0){Z=Wg(c[r>>2]|0,q|0,n|0)|0;if(!Z)wa(r|0,p|0);D=p}else Z=-1;if((Z|0)==1){O=D;P=0;Q=0;R=0;S=0;T=0;U=0;V=0;break}if(!N){c[L>>2]=1;_=1}else _=c[L>>2]|0;aa=_;ca=N;K=35}else{da=0;K=36}else{aa=E;ca=X;K=35}if((K|0)==35)if(!aa)fa=ca;else{da=ca;K=36}if((K|0)==36){E=b+348|0;c[(c[E>>2]|0)+11988>>2]=c[F>>2];c[(c[E>>2]|0)+11992>>2]=c[H>>2];fa=da}if(fa|0){w=fa;Lg(q|0);l=i;return w|0}E=c[b+348>>2]|0;if(Y){N=E+3248|0;L=E+5040|0;c[L>>2]=c[v>>2];r=E+5044|0;c[r>>2]=c[y>>2];C=c[E+5716>>2]|0;q=Ug(E+3340|0,1,q|0,n|0)|0;n=D;o=0;I=o;o=0;if((I|0)!=0&(p|0)!=0){ga=Wg(c[I>>2]|0,q|0,n|0)|0;if(!ga)wa(I|0,p|0);D=p}else ga=-1;if((ga|0)==1){O=D;P=C;Q=E;R=r;S=L;T=N;U=N;V=E}else{O=0;P=C;Q=E;R=r;S=L;T=N;U=N;V=E}}else{ka=0;la=E;ma=0;na=0;oa=0;pa=0;qa=0;K=62}}while(0);a:while(1){if((K|0)==62){K=0;z=la+11732|0;ra=t;A=z+80|0;do{c[z>>2]=c[ra>>2];z=z+4|0;ra=ra+4|0}while((z|0)<(A|0));c[b+476>>2]=g;o=0;sa=ia(2,la|0,f|0,e|0,h|0,((h|0)<0)<<31>>31|0)|0;ga=o;o=0;if((ga|0)!=0&(p|0)!=0){ta=Wg(c[ga>>2]|0,q|0,n|0)|0;if(!ta)wa(ga|0,p|0);D=p}else ta=-1;if((ta|0)==1){O=D;P=ka;Q=la;R=ma;S=na;T=oa;U=pa;V=qa}else break}ua=Q+3336|0;if(O|0){K=67;break}c[ua>>2]=1;if((c[S>>2]|0)<1){c[S>>2]=B;o=0;ja(25,U|0,7,5209,m|0);ga=o;o=0;if((ga|0)!=0&(p|0)!=0){va=Wg(c[ga>>2]|0,q|0,n|0)|0;if(!va)wa(ga|0,p|0);D=p}else va=-1;if((va|0)==1){xa=V;ya=U;za=T;Aa=S;Ba=R;Ca=Q;Da=P;O=D;V=xa;U=ya;T=za;S=Aa;R=Ba;Q=Ca;P=Da;continue}}ga=c[R>>2]|0;if((ga|0)<1){c[R>>2]=u;o=0;ja(25,U|0,7,5229,k|0);Y=o;o=0;if((Y|0)!=0&(p|0)!=0){Ea=Wg(c[Y>>2]|0,q|0,n|0)|0;if(!Ea)wa(Y|0,p|0);D=p}else Ea=-1;if((Ea|0)==1){xa=V;ya=U;za=T;Aa=S;Ba=R;Ca=Q;Da=P;O=D;V=xa;U=ya;T=za;S=Aa;R=Ba;Q=Ca;P=Da;continue}Fa=c[R>>2]|0}else Fa=ga;o=0;ga=$(5,T|0,c[S>>2]|0,Fa|0)|0;Y=o;o=0;if((Y|0)!=0&(p|0)!=0){Ga=Wg(c[Y>>2]|0,q|0,n|0)|0;if(!Ga)wa(Y|0,p|0);D=p}else Ga=-1;if((Ga|0)==1){xa=V;ya=U;za=T;Aa=S;Ba=R;Ca=Q;Da=P;O=D;V=xa;U=ya;T=za;S=Aa;R=Ba;Q=Ca;P=Da;continue}if(ga|0){o=0;ja(25,U|0,2,5250,j|0);ga=o;o=0;if((ga|0)!=0&(p|0)!=0){Ha=Wg(c[ga>>2]|0,q|0,n|0)|0;if(!Ha)wa(ga|0,p|0);D=p}else Ha=-1;if((Ha|0)==1){xa=V;ya=U;za=T;Aa=S;Ba=R;Ca=Q;Da=P;O=D;V=xa;U=ya;T=za;S=Aa;R=Ba;Q=Ca;P=Da;continue}}z=Q+2848|0;ra=Q+5064+((c[Q+5564>>2]|0)*120|0)|0;A=z+120|0;do{c[z>>2]=c[ra>>2];z=z+4|0;ra=ra+4|0}while((z|0)<(A|0));ga=Q+5560|0;Y=c[ga>>2]|0;z=Q+2968|0;ra=Q+5064+(Y*120|0)|0;A=z+120|0;do{c[z>>2]=c[ra>>2];z=z+4|0;ra=ra+4|0}while((z|0)<(A|0));fa=Q+11828|0;if((c[fa>>2]|0)>0){da=Q+11916|0;z=(c[da>>2]|0)+2968|0;ra=Q+5064+(Y*120|0)|0;A=z+120|0;do{c[z>>2]=c[ra>>2];z=z+4|0;ra=ra+4|0}while((z|0)<(A|0));o=0;ba(1,c[da>>2]|0);Y=o;o=0;if((Y|0)!=0&(p|0)!=0){Ia=Wg(c[Y>>2]|0,q|0,n|0)|0;if(!Ia)wa(Y|0,p|0);D=p}else Ia=-1;if((Ia|0)==1){xa=V;ya=U;za=T;Aa=S;Ba=R;Ca=Q;Da=P;O=D;V=xa;U=ya;T=za;S=Aa;R=Ba;Q=Ca;P=Da;continue}if((c[fa>>2]|0)>1){Y=1;while(1){z=(c[da>>2]|0)+(Y*3232|0)+2968|0;ra=Q+5064+((c[ga>>2]|0)*120|0)|0;A=z+120|0;do{c[z>>2]=c[ra>>2];z=z+4|0;ra=ra+4|0}while((z|0)<(A|0));o=0;ba(1,(c[da>>2]|0)+(Y*3232|0)|0);H=o;o=0;if((H|0)!=0&(p|0)!=0){Ja=Wg(c[H>>2]|0,q|0,n|0)|0;if(!Ja)wa(H|0,p|0);D=p}else Ja=-1;if((Ja|0)==1){xa=V;ya=U;za=T;Aa=S;Ba=R;Ca=Q;Da=P;O=D;V=xa;U=ya;T=za;S=Aa;R=Ba;Q=Ca;P=Da;continue a}Y=Y+1|0;if((Y|0)>=(c[fa>>2]|0))break}}}o=0;ba(1,V|0);fa=o;o=0;if((fa|0)!=0&(p|0)!=0){Ka=Wg(c[fa>>2]|0,q|0,n|0)|0;if(!Ka)wa(fa|0,p|0);D=p}else Ka=-1;if((Ka|0)==1){xa=V;ya=U;za=T;Aa=S;Ba=R;Ca=Q;Da=P;O=D;V=xa;U=ya;T=za;S=Aa;R=Ba;Q=Ca;P=Da;continue}if(c[Q+11812>>2]|0){o=0;ea(1,Q|0,c[S>>2]|0,P|0);fa=o;o=0;if((fa|0)!=0&(p|0)!=0){La=Wg(c[fa>>2]|0,q|0,n|0)|0;if(!La)wa(fa|0,p|0);D=p}else La=-1;if((La|0)==1){xa=V;ya=U;za=T;Aa=S;Ba=R;Ca=Q;Da=P;O=D;V=xa;U=ya;T=za;S=Aa;R=Ba;Q=Ca;P=Da;continue}}c[ua>>2]=0;c[Q+5544>>2]=0;ka=P;la=Q;ma=R;na=S;oa=T;pa=U;qa=V;K=62}if((K|0)==67){c[ua>>2]=0;c[v>>2]=0;c[y>>2]=0;w=-1;Lg(q|0);l=i;return w|0}if((sa|0)!=0?(sa=c[la+3248>>2]|0,(sa|0)!=0):0){c[b>>2]=c[la+3252>>2]|0?la+3256|0:0;Ma=sa}else Ma=0;c[x>>2]=0;w=Ma;Lg(q|0);l=i;return w|0}function Ud(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;d=l;l=l+176|0;e=d+48|0;f=d+8|0;g=d;h=d+16|0;if(c[b>>2]|0){i=0;l=d;return i|0}j=c[a+348>>2]|0;if(!j){i=0;l=d;return i|0}k=f;c[k>>2]=0;c[k+4>>2]=0;k=g;c[k>>2]=0;c[k+4>>2]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;if(c[a+4>>2]&65536|0){c[h>>2]=c[a+220>>2];c[h+4>>2]=c[a+224>>2];c[h+8>>2]=c[a+228>>2]}if(!(ie(j,e,f,g,h)|0)){h=a+240|0;g=c[a+476>>2]|0;c[h>>2]=258;f=c[e+16>>2]|0;c[a+252>>2]=f;j=c[e+4>>2]|0;c[a+256>>2]=j+79&-16;k=c[e>>2]|0;c[a+272>>2]=k;c[a+264>>2]=k;c[a+276>>2]=j;c[a+268>>2]=j;c[a+280>>2]=1;c[a+284>>2]=1;c[a+288>>2]=c[e+52>>2];c[a+292>>2]=c[e+56>>2];c[a+296>>2]=c[e+60>>2];c[a+300>>2]=0;c[a+304>>2]=f;j=c[e+36>>2]|0;c[a+308>>2]=j;c[a+312>>2]=j;c[a+316>>2]=f;c[a+260>>2]=8;c[a+320>>2]=12;c[a+324>>2]=g;c[a+328>>2]=c[e+68>>2];c[a+332>>2]=0;c[a+336>>2]=0;c[b>>2]=h;m=h}else m=0;i=m;l=d;return i|0}function Vd(){return 1592}function Wd(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;h=l;l=l+16|0;i=h;c[a>>2]=b+e;j=a+4|0;c[j>>2]=b;k=a+8|0;c[k>>2]=0;m=a+12|0;c[m>>2]=-8;c[a+16>>2]=255;c[a+20>>2]=f;c[a+24>>2]=g;if(!((b|0)!=0|(e|0)==0)){n=1;l=h;return n|0}a=e<<3;o=32-a|0;if(!f)p=b;else{Eb[f&31](g,b,i,e>>>0<5?e:5);p=i}i=(o|0)>-1;e=o>>31&-1073741824|1073741816;b=i?o:0;if((a|0)==0&i|(b|0)>24){q=e;r=0}else{i=c[j>>2]|0;a=p;p=e;e=24;o=0;while(1){g=p+8|0;f=(d[a>>0]|0)<<e|o;i=i+1|0;c[j>>2]=i;e=e+-8|0;if((e|0)<(b|0)){q=g;r=f;break}else{a=a+1|0;p=g;o=f}}}c[k>>2]=r;c[m>>2]=q;n=0;l=h;return n|0}function Xd(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;b=l;l=l+16|0;e=b;f=a+4|0;g=c[f>>2]|0;h=a+8|0;i=c[h>>2]|0;j=a+12|0;k=c[j>>2]|0;m=16-k|0;n=(c[a>>2]|0)-g|0;o=n<<3;p=m+8-o|0;q=c[a+20>>2]|0;if(!q)r=g;else{Eb[q&31](c[a+24>>2]|0,g,e,n>>>0<5?n:5);r=e}e=(p|0)>-1;n=e?k+1073741824|0:k;k=e?p:0;if(e&(o|0)==0|(m|0)<(k|0)){s=n;t=i;c[h>>2]=t;c[j>>2]=s;l=b;return}o=c[f>>2]|0;e=r;r=n;n=m;m=i;while(1){i=r+8|0;p=(d[e>>0]|0)<<n|m;o=o+1|0;c[f>>2]=o;n=n+-8|0;if((n|0)<(k|0)){s=i;t=p;break}else{e=e+1|0;r=i;m=p}}c[h>>2]=t;c[j>>2]=s;l=b;return}function Yd(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0;g=l;l=l+32|0;h=g+16|0;i=g;j=c[f+5772>>2]|0;k=f+11680|0;m=f+11696|0;n=(((c[m>>2]<<7)+-128|0)>>>8)+1|0;o=f+11692|0;p=c[o>>2]|0;if((p|0)<0){Xd(k);q=c[o>>2]|0}else q=p;p=f+11688|0;r=c[p>>2]|0;s=n<<24;if(r>>>0<s>>>0){t=0;u=n;v=r}else{t=1;u=(c[m>>2]|0)-n|0;v=r-s|0}s=d[16+u>>0]|0;r=u<<s;u=v<<s;v=q-s|0;c[p>>2]=u;c[o>>2]=v;c[m>>2]=r;s=f+5728|0;c[s>>2]=t;q=f+11967|0;a[q>>0]=0;if(!t){w=r;x=v;y=u}else{t=u;u=r;r=v;v=8;n=0;do{z=v;v=v+-1|0;A=(((u<<7)+-128|0)>>>8)+1|0;if((r|0)<0){Xd(k);B=c[o>>2]|0;C=c[p>>2]|0}else{B=r;C=t}D=A<<24;if(C>>>0<D>>>0){E=0;F=A;G=C}else{E=1;F=(c[m>>2]|0)-A|0;G=C-D|0}D=d[16+F>>0]|0;u=F<<D;t=G<<D;r=B-D|0;c[p>>2]=t;c[o>>2]=r;c[m>>2]=u;n=E<<v|n}while((z|0)>1);a[q>>0]=n;w=u;x=r;y=t}t=f+5700|0;if(c[t>>2]|0){r=w;w=x;x=y;y=8;u=0;do{n=y;y=y+-1|0;v=(((r<<7)+-128|0)>>>8)+1|0;if((w|0)<0){Xd(k);H=c[p>>2]|0;I=c[o>>2]|0}else{H=x;I=w}E=v<<24;if(H>>>0<E>>>0){J=0;K=v;L=H}else{J=1;K=(c[m>>2]|0)-v|0;L=H-E|0}E=d[16+K>>0]|0;r=K<<E;x=L<<E;w=I-E|0;c[p>>2]=x;c[o>>2]=w;c[m>>2]=r;u=J<<y|u}while((n|0)>1);a[f+11964>>0]=u;u=r;r=w;w=x;x=8;y=0;do{J=x;x=x+-1|0;I=(((u<<7)+-128|0)>>>8)+1|0;if((r|0)<0){Xd(k);M=c[p>>2]|0;N=c[o>>2]|0}else{M=w;N=r}L=I<<24;if(M>>>0<L>>>0){O=0;P=I;Q=M}else{O=1;P=(c[m>>2]|0)-I|0;Q=M-L|0}L=d[16+P>>0]|0;u=P<<L;w=Q<<L;r=N-L|0;c[p>>2]=w;c[o>>2]=r;c[m>>2]=u;y=O<<x|y}while((J|0)>1);a[f+11965>>0]=y;y=u;u=r;r=w;w=8;x=0;do{O=w;w=w+-1|0;N=(((y<<7)+-128|0)>>>8)+1|0;if((u|0)<0){Xd(k);R=c[p>>2]|0;T=c[o>>2]|0}else{R=r;T=u}Q=N<<24;if(R>>>0<Q>>>0){U=0;V=N;W=R}else{U=1;V=(c[m>>2]|0)-N|0;W=R-Q|0}Q=d[16+V>>0]|0;y=V<<Q;r=W<<Q;u=T-Q|0;c[p>>2]=r;c[o>>2]=u;c[m>>2]=y;x=U<<w|x}while((O|0)>1);a[f+11966>>0]=x;x=(((y<<7)+-128|0)>>>8)+1|0;if((u|0)<0){Xd(k);X=c[p>>2]|0;Y=c[o>>2]|0}else{X=r;Y=u}u=x<<24;if(X>>>0<u>>>0){Z=1;_=x;$=X}else{Z=0;_=(c[m>>2]|0)-x|0;$=X-u|0}u=d[16+_>>0]|0;X=_<<u;_=Y-u|0;c[p>>2]=$<<u;c[o>>2]=_;c[m>>2]=X;if(Z){aa=X;ba=_}else{Z=X;X=_;_=0;while(1){u=Z;$=X;Y=8;x=0;do{r=Y;Y=Y+-1|0;y=(((u<<7)+-128|0)>>>8)+1|0;if(($|0)<0){Xd(k);ca=c[o>>2]|0}else ca=$;w=c[p>>2]|0;U=y<<24;if(w>>>0<U>>>0){da=0;ea=y;fa=w}else{da=1;ea=(c[m>>2]|0)-y|0;fa=w-U|0}U=d[16+ea>>0]|0;u=ea<<U;$=ca-U|0;c[p>>2]=fa<<U;c[o>>2]=$;c[m>>2]=u;x=da<<Y|x}while((r|0)>1);a[f+10323+_>>0]=x;_=_+1|0;Y=c[m>>2]|0;u=c[o>>2]|0;if((_|0)==4){aa=Y;ba=u;break}else{Z=Y;X=u}}}X=(((aa<<7)+-128|0)>>>8)+1|0;if((ba|0)<0){Xd(k);ga=c[o>>2]|0}else ga=ba;ba=c[p>>2]|0;aa=X<<24;if(ba>>>0<aa>>>0){ha=1;ia=X;ja=ba}else{ha=0;ia=(c[m>>2]|0)-X|0;ja=ba-aa|0}aa=d[16+ia>>0]|0;ba=ia<<aa;ia=ja<<aa;ja=ga-aa|0;c[p>>2]=ia;c[o>>2]=ja;c[m>>2]=ba;if(ha)ka=0;else{ha=ia;ia=ba;ba=ja;ja=8;aa=0;do{ga=ja;ja=ja+-1|0;X=(((ia<<7)+-128|0)>>>8)+1|0;if((ba|0)<0){Xd(k);la=c[p>>2]|0;ma=c[o>>2]|0}else{la=ha;ma=ba}Z=X<<24;if(la>>>0<Z>>>0){na=0;oa=X;pa=la}else{na=1;oa=(c[m>>2]|0)-X|0;pa=la-Z|0}Z=d[16+oa>>0]|0;ia=oa<<Z;ha=pa<<Z;ba=ma-Z|0;c[p>>2]=ha;c[o>>2]=ba;c[m>>2]=ia;aa=na<<ja|aa}while((ga|0)>1);a[f+10327>>0]=aa;aa=ha;ha=ia;ia=ba;ba=8;ja=0;do{na=ba;ba=ba+-1|0;ma=(((ha<<7)+-128|0)>>>8)+1|0;if((ia|0)<0){Xd(k);qa=c[p>>2]|0;ra=c[o>>2]|0}else{qa=aa;ra=ia}pa=ma<<24;if(qa>>>0<pa>>>0){sa=0;ta=ma;ua=qa}else{sa=1;ta=(c[m>>2]|0)-ma|0;ua=qa-pa|0}pa=d[16+ta>>0]|0;ha=ta<<pa;aa=ua<<pa;ia=ra-pa|0;c[p>>2]=aa;c[o>>2]=ia;c[m>>2]=ha;ja=sa<<ba|ja}while((na|0)>1);a[f+10328>>0]=ja;ja=aa;aa=ha;ha=ia;ia=8;ba=0;do{sa=ia;ia=ia+-1|0;ra=(((aa<<7)+-128|0)>>>8)+1|0;if((ha|0)<0){Xd(k);va=c[p>>2]|0;wa=c[o>>2]|0}else{va=ja;wa=ha}ua=ra<<24;if(va>>>0<ua>>>0){xa=0;ya=ra;za=va}else{xa=1;ya=(c[m>>2]|0)-ra|0;za=va-ua|0}ua=d[16+ya>>0]|0;aa=ya<<ua;ja=za<<ua;ha=wa-ua|0;c[p>>2]=ja;c[o>>2]=ha;c[m>>2]=aa;ba=xa<<ia|ba}while((sa|0)>1);a[f+10329>>0]=ba;ka=0}do{ba=f+11389+(ka*19|0)+19|0;ia=f+11389+(ka*19|0)|0;xa=5024+(ka*19|0)|0;do{aa=((S((c[m>>2]|0)+-1|0,d[xa>>0]|0)|0)>>>8)+1|0;xa=xa+1|0;ha=c[o>>2]|0;if((ha|0)<0){Xd(k);Aa=c[o>>2]|0}else Aa=ha;ha=c[p>>2]|0;ja=aa<<24;if(ha>>>0<ja>>>0){Ba=1;Ca=aa;Da=ha}else{Ba=0;Ca=(c[m>>2]|0)-aa|0;Da=ha-ja|0}ja=d[16+Ca>>0]|0;ha=Ca<<ja;aa=Da<<ja;wa=Aa-ja|0;c[p>>2]=aa;c[o>>2]=wa;c[m>>2]=ha;if(!Ba){ja=aa;aa=ha;ha=wa;wa=7;za=0;do{ya=wa;wa=wa+-1|0;va=(((aa<<7)+-128|0)>>>8)+1|0;if((ha|0)<0){Xd(k);Ea=c[p>>2]|0;Fa=c[o>>2]|0}else{Ea=ja;Fa=ha}sa=va<<24;if(Ea>>>0<sa>>>0){Ga=0;Ha=va;Ia=Ea}else{Ga=1;Ha=(c[m>>2]|0)-va|0;Ia=Ea-sa|0}sa=d[16+Ha>>0]|0;aa=Ha<<sa;ja=Ia<<sa;ha=Fa-sa|0;c[p>>2]=ja;c[o>>2]=ha;c[m>>2]=aa;za=Ga<<wa|za}while((ya|0)>1);wa=za&255;a[ia>>0]=(wa|0)==0?1:wa<<1&255}ia=ia+1|0}while(ia>>>0<ba>>>0);ka=ka+1|0}while((ka|0)!=2)}ka=f+3192|0;c[ka>>2]=0;Ga=f+5716|0;Fa=c[Ga>>2]|0;Ia=(Fa<<7)+-128|0;Ha=f+3196|0;c[Ha>>2]=Ia;Ea=f+5720|0;Ba=c[Ea>>2]|0;Aa=(Ba<<7)+-128|0;if((Fa|0)<=0){l=g;return}Da=f+3184|0;Ca=f+3188|0;ba=f+3149|0;ia=f+5724|0;xa=f+11964|0;x=f+3092|0;wa=f+11965|0;aa=i+8|0;ha=i+4|0;ja=h+12|0;ya=h+8|0;sa=h+4|0;va=i+4|0;ua=f+11389|0;ra=f+11408|0;ta=ha+2|0;qa=f+11966|0;na=f+3148|0;pa=f+3152|0;ma=f+3153|0;oa=f+3154|0;la=Fa;Fa=Ia;Ia=0;ga=Ba;Ba=0;Z=j;while(1){c[Da>>2]=0;c[Ca>>2]=Aa;if((ga|0)>0){j=0;X=Z;do{if(!(a[ba>>0]|0)){if(!(c[t>>2]|0))a[X+11>>0]=0}else if(a[na>>0]|0){_=((S((c[m>>2]|0)+-1|0,d[pa>>0]|0)|0)>>>8)+1|0;da=c[o>>2]|0;if((da|0)<0){Xd(k);Ja=c[o>>2]|0}else Ja=da;da=c[p>>2]|0;fa=_<<24;if(da>>>0<fa>>>0){Ka=1;La=_;Ma=da}else{Ka=0;La=(c[m>>2]|0)-_|0;Ma=da-fa|0}fa=d[16+La>>0]|0;da=La<<fa;_=Ma<<fa;ca=Ja-fa|0;c[p>>2]=_;c[o>>2]=ca;c[m>>2]=da;if(Ka){fa=((S(d[ma>>0]|0,da+-1|0)|0)>>>8)+1|0;if((ca|0)<0){Xd(k);Na=c[o>>2]|0;Oa=c[p>>2]|0}else{Na=ca;Oa=_}ea=fa<<24;if(Oa>>>0<ea>>>0){Pa=0;Qa=fa;Ra=Oa}else{Pa=1;Qa=(c[m>>2]|0)-fa|0;Ra=Oa-ea|0}ea=d[16+Qa>>0]|0;Sa=Pa;Ta=Qa<<ea;Ua=Na-ea|0;Va=Ra<<ea}else{ea=((S(d[oa>>0]|0,da+-1|0)|0)>>>8)+1|0;if((ca|0)<0){Xd(k);Wa=c[p>>2]|0;Xa=c[o>>2]|0}else{Wa=_;Xa=ca}ca=ea<<24;if(Wa>>>0<ca>>>0){Ya=2;Za=ea;_a=Wa}else{Ya=3;Za=(c[m>>2]|0)-ea|0;_a=Wa-ca|0}ca=d[16+Za>>0]|0;Sa=Ya;Ta=Za<<ca;Ua=Xa-ca|0;Va=_a<<ca}c[p>>2]=Va;c[o>>2]=Ua;c[m>>2]=Ta;a[X+11>>0]=Sa}if(!(c[s>>2]|0))$a=0;else{ca=((S((c[m>>2]|0)+-1|0,d[q>>0]|0)|0)>>>8)+1|0;ea=c[o>>2]|0;if((ea|0)<0){Xd(k);ab=c[o>>2]|0}else ab=ea;ea=c[p>>2]|0;_=ca<<24;if(ea>>>0<_>>>0){bb=0;cb=ca;db=ea}else{bb=1;cb=(c[m>>2]|0)-ca|0;db=ea-_|0}_=d[16+cb>>0]|0;c[p>>2]=db<<_;c[o>>2]=ab-_;c[m>>2]=cb<<_;$a=bb}a[X+9>>0]=$a;_=X+3|0;a[_>>0]=0;do if(!(c[t>>2]|0)){ea=c[ia>>2]|0;a[X+2>>0]=0;ca=c[m>>2]|0;da=c[o>>2]|0;fa=0;do{u=fa<<24>>24;Y=((S(d[4048+(u>>1)>>0]|0,ca+-1|0)|0)>>>8)+1|0;if((da|0)<0){Xd(k);eb=c[o>>2]|0}else eb=da;$=c[p>>2]|0;r=Y<<24;if($>>>0<r>>>0){fb=0;gb=Y;hb=$}else{fb=1;gb=(c[m>>2]|0)-Y|0;hb=$-r|0}r=d[16+gb>>0]|0;ca=gb<<r;da=eb-r|0;c[p>>2]=hb<<r;c[o>>2]=da;c[m>>2]=ca;fa=a[4993+(fb+u)>>0]|0}while(fa<<24>>24>0);u=0-(fa<<24>>24)|0;a[X>>0]=u;if((u&255|0)==4){a[_>>0]=1;u=X+-76|0;r=0-ea|0;$=X+(r*76|0)|0;Y=0;do{a:do if(Y>>>0>3)ib=c[X+12+(Y<<2)+-16>>2]|0;else switch(a[$>>0]|0){case 4:{ib=c[X+(r*76|0)+12+(Y<<2)+48>>2]|0;break a;break}case 3:{ib=1;break a;break}case 1:{ib=2;break a;break}case 2:{ib=3;break a;break}default:{ib=0;break a}}while(0);b:do if(!(Y&3))switch(a[u>>0]|0){case 4:{jb=c[X+-64+(Y<<2)+12>>2]|0;break b;break}case 3:{jb=1;break b;break}case 1:{jb=2;break b;break}case 2:{jb=3;break b;break}default:{jb=0;break b}}else jb=c[X+12+(Y<<2)+-4>>2]|0;while(0);U=c[m>>2]|0;w=c[o>>2]|0;y=0;do{T=y<<24>>24;W=((S(d[(T>>1)+(4067+(ib*90|0)+(jb*9|0))>>0]|0,U+-1|0)|0)>>>8)+1|0;if((w|0)<0){Xd(k);kb=c[o>>2]|0}else kb=w;V=c[p>>2]|0;R=W<<24;if(V>>>0<R>>>0){lb=0;mb=W;nb=V}else{lb=1;mb=(c[m>>2]|0)-W|0;nb=V-R|0}R=d[16+mb>>0]|0;U=mb<<R;w=kb-R|0;c[p>>2]=nb<<R;c[o>>2]=w;c[m>>2]=U;y=a[4967+(lb+T)>>0]|0}while(y<<24>>24>0);c[X+12+(Y<<2)>>2]=0-(y<<24>>24);Y=Y+1|0}while((Y|0)!=16);ob=c[m>>2]|0;pb=c[o>>2]|0;qb=0}else{ob=ca;pb=da;qb=0}do{Y=qb<<24>>24;u=((S(d[4055+(Y>>1)>>0]|0,ob+-1|0)|0)>>>8)+1|0;if((pb|0)<0){Xd(k);rb=c[o>>2]|0}else rb=pb;r=c[p>>2]|0;$=u<<24;if(r>>>0<$>>>0){sb=0;tb=u;ub=r}else{sb=1;tb=(c[m>>2]|0)-u|0;ub=r-$|0}$=d[16+tb>>0]|0;ob=tb<<$;pb=rb-$|0;c[p>>2]=ub<<$;c[o>>2]=pb;c[m>>2]=ob;qb=a[5001+(sb+Y)>>0]|0}while(qb<<24>>24>0);a[X+1>>0]=0-(qb&255)}else{da=((S((c[m>>2]|0)+-1|0,d[xa>>0]|0)|0)>>>8)+1|0;ca=c[o>>2]|0;if((ca|0)<0){Xd(k);vb=c[o>>2]|0}else vb=ca;ca=c[p>>2]|0;Y=da<<24;if(ca>>>0<Y>>>0){wb=0;xb=da;yb=ca}else{wb=1;xb=(c[m>>2]|0)-da|0;yb=ca-Y|0}Y=d[16+xb>>0]|0;ca=xb<<Y;da=yb<<Y;$=vb-Y|0;c[p>>2]=da;c[o>>2]=$;c[m>>2]=ca;Y=X+2|0;a[Y>>0]=wb;if(!(wb<<24>>24)){c[X+4>>2]=0;r=c[m>>2]|0;u=c[o>>2]|0;ea=0;do{fa=ea<<24>>24;U=((S(d[(fa>>1)+(f+10323)>>0]|0,r+-1|0)|0)>>>8)+1|0;if((u|0)<0){Xd(k);zb=c[o>>2]|0}else zb=u;w=c[p>>2]|0;T=U<<24;if(w>>>0<T>>>0){Ab=0;Bb=U;Cb=w}else{Ab=1;Bb=(c[m>>2]|0)-U|0;Cb=w-T|0}T=d[16+Bb>>0]|0;r=Bb<<T;u=zb-T|0;c[p>>2]=Cb<<T;c[o>>2]=u;c[m>>2]=r;ea=a[4985+(Ab+fa)>>0]|0}while(ea<<24>>24>0);fa=0-(ea<<24>>24)|0;a[X>>0]=fa;if((fa&255|0)==4){a[_>>0]=1;fa=r;T=u;w=0;while(1){U=fa;R=T;V=0;do{W=V<<24>>24;O=((S(d[(W>>1)+(f+10314)>>0]|0,U+-1|0)|0)>>>8)+1|0;if((R|0)<0){Xd(k);Db=c[o>>2]|0}else Db=R;Q=c[p>>2]|0;N=O<<24;if(Q>>>0<N>>>0){Eb=0;Fb=O;Gb=Q}else{Eb=1;Fb=(c[m>>2]|0)-O|0;Gb=Q-N|0}N=d[16+Fb>>0]|0;U=Fb<<N;R=Db-N|0;c[p>>2]=Gb<<N;c[o>>2]=R;c[m>>2]=U;V=a[4967+(Eb+W)>>0]|0}while(V<<24>>24>0);c[X+12+(w<<2)>>2]=0-(V<<24>>24);w=w+1|0;U=c[m>>2]|0;R=c[o>>2]|0;if((w|0)==16){Hb=U;Ib=R;Jb=0;break}else{fa=U;T=R}}}else{Hb=r;Ib=u;Jb=0}do{T=Jb<<24>>24;fa=((S(d[(T>>1)+(f+10327)>>0]|0,Hb+-1|0)|0)>>>8)+1|0;if((Ib|0)<0){Xd(k);Kb=c[o>>2]|0}else Kb=Ib;w=c[p>>2]|0;ea=fa<<24;if(w>>>0<ea>>>0){Lb=0;Mb=fa;Nb=w}else{Lb=1;Mb=(c[m>>2]|0)-fa|0;Nb=w-ea|0}ea=d[16+Mb>>0]|0;Hb=Mb<<ea;Ib=Kb-ea|0;c[p>>2]=Nb<<ea;c[o>>2]=Ib;c[m>>2]=Hb;Jb=a[5001+(Lb+T)>>0]|0}while(Jb<<24>>24>0);a[X+1>>0]=0-(Jb&255);break}u=0-(c[x>>2]|0)|0;r=X+(u*76|0)|0;T=r+-76|0;ea=X+10|0;a[ea>>0]=0;w=((S(d[wa>>0]|0,ca+-1|0)|0)>>>8)+1|0;if(($|0)<0){Xd(k);Ob=c[p>>2]|0;Pb=c[o>>2]|0}else{Ob=da;Pb=$}fa=w<<24;if(Ob>>>0<fa>>>0){Qb=1;Rb=w;Sb=Ob}else{Qb=0;Rb=(c[m>>2]|0)-w|0;Sb=Ob-fa|0}fa=d[16+Rb>>0]|0;w=Rb<<fa;R=Sb<<fa;U=Pb-fa|0;c[p>>2]=R;c[o>>2]=U;c[m>>2]=w;if(!Qb){fa=((S(d[qa>>0]|0,w+-1|0)|0)>>>8)+1|0;if((U|0)<0){Xd(k);Tb=c[p>>2]|0;Ub=c[o>>2]|0}else{Tb=R;Ub=U}U=fa<<24;if(Tb>>>0<U>>>0){Vb=2;Wb=fa;Xb=Tb}else{Vb=3;Wb=(c[m>>2]|0)-fa|0;Xb=Tb-U|0}U=d[16+Wb>>0]|0;c[p>>2]=Xb<<U;c[o>>2]=Ub-U;c[m>>2]=Wb<<U;a[Y>>0]=Vb}c[aa>>2]=0;c[ha>>2]=0;c[i>>2]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;U=a[X+(u*76|0)+2>>0]|0;fa=U&255;if(!(U<<24>>24)){Yb=h;Zb=i}else{U=c[X+(u*76|0)+4>>2]|0;do if(!U){_b=h;$b=i}else{c[ha>>2]=U;if((c[f+9172+(d[Y>>0]<<2)>>2]|0)==(c[f+9172+(fa<<2)>>2]|0)){_b=sa;$b=ha;break}b[ha>>1]=0-U;b[ta>>1]=0-(U>>>16);_b=sa;$b=ha}while(0);c[_b>>2]=(c[_b>>2]|0)+2;Yb=_b;Zb=$b}U=a[X+-74>>0]|0;if(!(U<<24>>24)){ac=Yb;bc=Zb}else{fa=c[X+-72>>2]|0;do if(!fa){cc=h;dc=Yb;ec=Zb}else{$=fa>>>16;da=(c[f+9172+(d[Y>>0]<<2)>>2]|0)==(c[f+9172+((U&255)<<2)>>2]|0);ca=(da?$:0-$|0)<<16|(da?fa:0-fa|0)&65535;if((ca|0)==(c[Zb>>2]|0)){cc=Yb;dc=Yb;ec=Zb;break}da=Zb+4|0;c[da>>2]=ca;ca=Yb+4|0;cc=ca;dc=ca;ec=da}while(0);c[cc>>2]=(c[cc>>2]|0)+2;ac=dc;bc=ec}fa=a[T+2>>0]|0;if(!(fa<<24>>24))fc=bc;else{U=c[T+4>>2]|0;do if(!U){gc=h;hc=bc}else{da=U>>>16;ca=(c[f+9172+(d[Y>>0]<<2)>>2]|0)==(c[f+9172+((fa&255)<<2)>>2]|0);$=(ca?da:0-da|0)<<16|(ca?U:0-U|0)&65535;if(($|0)==(c[bc>>2]|0)){gc=ac;hc=bc;break}ca=bc+4|0;c[ca>>2]=$;gc=ac+4|0;hc=ca}while(0);c[gc>>2]=(c[gc>>2]|0)+1;fc=hc}U=c[h>>2]|0;fa=((S((c[m>>2]|0)+-1|0,c[408+(U<<4)>>2]|0)|0)>>>8)+1|0;Y=c[o>>2]|0;if((Y|0)<0){Xd(k);ic=c[o>>2]|0}else ic=Y;Y=c[p>>2]|0;ca=fa<<24;if(Y>>>0<ca>>>0){jc=1;kc=fa;lc=Y}else{jc=0;kc=(c[m>>2]|0)-fa|0;lc=Y-ca|0}ca=d[16+kc>>0]|0;Y=kc<<ca;fa=lc<<ca;$=ic-ca|0;c[p>>2]=fa;c[o>>2]=$;c[m>>2]=Y;do if(jc){a[X>>0]=7;c[X+4>>2]=0}else{ca=c[va>>2]|0;da=(((c[ja>>2]|0)>0?(c[fc>>2]|0)==(ca|0):0)&1)+(c[sa>>2]|0)|0;c[sa>>2]=da;R=c[ya>>2]|0;if((R|0)>(da|0)){c[sa>>2]=R;c[ya>>2]=da;w=c[aa>>2]|0;c[va>>2]=w;c[aa>>2]=ca;mc=R;nc=da;oc=w}else{mc=da;nc=R;oc=ca}ca=((S(c[408+(mc<<4)+4>>2]|0,Y+-1|0)|0)>>>8)+1|0;if(($|0)<0){Xd(k);pc=c[p>>2]|0;qc=c[o>>2]|0}else{pc=fa;qc=$}R=ca<<24;if(pc>>>0<R>>>0){rc=1;sc=ca;tc=pc}else{rc=0;sc=(c[m>>2]|0)-ca|0;tc=pc-R|0}R=d[16+sc>>0]|0;ca=sc<<R;da=tc<<R;w=qc-R|0;c[p>>2]=da;c[o>>2]=w;c[m>>2]=ca;if(rc){a[X>>0]=5;R=X+4|0;c[R>>2]=oc;y=R+2|0;W=oc>>16;N=(c[Da>>2]|0)+-128|0;if((W|0)>=(N|0)){Q=(c[Ca>>2]|0)+128|0;if((W|0)>(Q|0)){uc=Q;vc=256}}else{uc=N;vc=256}if((vc|0)==256){vc=0;b[y>>1]=uc}y=oc<<16>>16;N=(c[ka>>2]|0)+-128|0;if((y|0)>=(N|0)){Q=(c[Ha>>2]|0)+128|0;if((y|0)>(Q|0))wc=Q;else break}else wc=N;b[R>>1]=wc;break}R=((S(c[408+(nc<<4)+8>>2]|0,ca+-1|0)|0)>>>8)+1|0;if((w|0)<0){Xd(k);xc=c[p>>2]|0;yc=c[o>>2]|0}else{xc=da;yc=w}w=R<<24;if(xc>>>0<w>>>0){zc=1;Ac=R;Bc=xc}else{zc=0;Ac=(c[m>>2]|0)-R|0;Bc=xc-w|0}w=d[16+Ac>>0]|0;R=Ac<<w;da=Bc<<w;ca=yc-w|0;c[p>>2]=da;c[o>>2]=ca;c[m>>2]=R;if(zc){a[X>>0]=6;w=c[aa>>2]|0;N=X+4|0;c[N>>2]=w;Q=N+2|0;y=w>>16;W=(c[Da>>2]|0)+-128|0;if((y|0)>=(W|0)){O=(c[Ca>>2]|0)+128|0;if((y|0)>(O|0)){Cc=O;vc=250}}else{Cc=W;vc=250}if((vc|0)==250){vc=0;b[Q>>1]=Cc}Q=w<<16>>16;w=(c[ka>>2]|0)+-128|0;if((Q|0)>=(w|0)){W=(c[Ha>>2]|0)+128|0;if((Q|0)>(W|0))Dc=W;else break}else Dc=w;b[N>>1]=Dc;break}N=(c[ka>>2]|0)+-128|0;w=(c[Ha>>2]|0)+128|0;W=(c[Ca>>2]|0)+128|0;Q=(c[Da>>2]|0)+-128|0;O=i+(((mc|0)>=(U|0)&1)<<2)|0;y=O+2|0;P=b[y>>1]|0;M=P<<16>>16;if((M|0)>=(Q|0))if((M|0)>(W|0)){Ec=W;vc=194}else Fc=P;else{Ec=Q;vc=194}if((vc|0)==194){vc=0;P=Ec&65535;b[y>>1]=P;Fc=P}P=b[O>>1]|0;y=P<<16>>16;if((y|0)>=(N|0))if((y|0)>(w|0)){Gc=w;vc=197}else Hc=P;else{Gc=N;vc=197}if((vc|0)==197){vc=0;P=Gc&65535;b[O>>1]=P;Hc=P}P=X+-76|0;y=((a[P>>0]|0)==9&1)+((a[r>>0]|0)==9&1)<<1|(a[T>>0]|0)==9;c[ja>>2]=y;M=((S(c[408+(y<<4)+12>>2]|0,R+-1|0)|0)>>>8)+1|0;if((ca|0)<0){Xd(k);Ic=c[p>>2]|0;Jc=c[o>>2]|0}else{Ic=da;Jc=ca}ca=M<<24;if(Ic>>>0<ca>>>0){Kc=1;Lc=M;Mc=Ic}else{Kc=0;Lc=(c[m>>2]|0)-M|0;Mc=Ic-ca|0}ca=d[16+Lc>>0]|0;M=Lc<<ca;da=Mc<<ca;R=Jc-ca|0;c[p>>2]=da;c[o>>2]=R;c[m>>2]=M;if(Kc){ca=X+4|0;b[ca>>1]=(Zd(k,ua)|0)<<1;y=(Zd(k,ra)|0)<<1;J=(e[ca>>1]|0)+(Hc&65535)|0;b[ca>>1]=J;L=(y&65534)+(Fc&65535)|0;b[ca+2>>1]=L;ca=L<<16>>16;L=J<<16>>16;a[ea>>0]=((L|0)>(w|0)|((L|0)<(N|0)|((ca|0)<(Q|0)|(ca|0)>(W|0))))&1;a[X>>0]=8;break}ca=c[O>>2]|0;O=ca>>>16;L=(((M*110|0)+-110|0)>>>8)+1|0;if((R|0)<0){Xd(k);Nc=c[p>>2]|0;Oc=c[o>>2]|0}else{Nc=da;Oc=R}R=L<<24;if(Nc>>>0<R>>>0){Pc=1;Qc=L;Rc=Nc}else{Pc=0;Qc=(c[m>>2]|0)-L|0;Rc=Nc-R|0}R=d[16+Qc>>0]|0;L=Qc<<R;da=Rc<<R;M=Oc-R|0;c[p>>2]=da;c[o>>2]=M;c[m>>2]=L;do if(Pc){Sc=16;Tc=3}else{R=(((L*111|0)+-111|0)>>>8)+1|0;if((M|0)<0){Xd(k);Uc=c[p>>2]|0;Vc=c[o>>2]|0}else{Uc=da;Vc=M}J=R<<24;if(Uc>>>0<J>>>0){Wc=1;Xc=R;Yc=Uc}else{Wc=0;Xc=(c[m>>2]|0)-R|0;Yc=Uc-J|0}J=d[16+Xc>>0]|0;R=Xc<<J;y=Yc<<J;I=Vc-J|0;c[p>>2]=y;c[o>>2]=I;c[m>>2]=R;if(Wc){Sc=4;Tc=2;break}J=(((R*150|0)+-150|0)>>>8)+1|0;if((I|0)<0){Xd(k);Zc=c[p>>2]|0;_c=c[o>>2]|0}else{Zc=y;_c=I}I=J<<24;if(Zc>>>0<I>>>0){$c=0;ad=J;bd=Zc}else{$c=1;ad=(c[m>>2]|0)-J|0;bd=Zc-I|0}I=d[16+ad>>0]|0;c[p>>2]=bd<<I;c[o>>2]=_c-I;c[m>>2]=ad<<I;Sc=2;Tc=$c}while(0);M=X+-72|0;da=X+(u*76|0)+4|0;L=5307+Tc|0;V=0;do{I=d[5100+(Tc<<4)+V>>0]|0;if(!(I&3))cd=(a[P>>0]|0)!=9?M:X+-64+(I<<2)+12|0;else cd=X+12+(I<<2)+-4|0;J=c[cd>>2]|0;if(!(I&252))dd=(a[r>>0]|0)!=9?da:X+(u*76|0)+12+(I<<2)+48|0;else dd=X+12+(I<<2)+-16|0;I=c[dd>>2]|0;y=(J|0)==(I|0)|((J|0)==0&1)<<1|((I|0)==0&1)<<2;R=((S((c[m>>2]|0)+-1|0,d[5283+(y*3|0)>>0]|0)|0)>>>8)+1|0;K=c[o>>2]|0;if((K|0)<0){Xd(k);ed=c[o>>2]|0}else ed=K;K=c[p>>2]|0;H=R<<24;if(K>>>0<H>>>0){fd=1;gd=R;hd=K}else{fd=0;gd=(c[m>>2]|0)-R|0;hd=K-H|0}H=d[16+gd>>0]|0;K=gd<<H;R=hd<<H;n=ed-H|0;c[p>>2]=R;c[o>>2]=n;c[m>>2]=K;do if(fd){id=J&65535;jd=J>>>16&65535}else{H=((S(d[5283+(y*3|0)+1>>0]|0,K+-1|0)|0)>>>8)+1|0;if((n|0)<0){Xd(k);kd=c[p>>2]|0;ld=c[o>>2]|0}else{kd=R;ld=n}E=H<<24;if(kd>>>0<E>>>0){md=1;nd=H;od=kd}else{md=0;nd=(c[m>>2]|0)-H|0;od=kd-E|0}E=d[16+nd>>0]|0;H=nd<<E;v=od<<E;B=ld-E|0;c[p>>2]=v;c[o>>2]=B;c[m>>2]=H;if(md){id=I&65535;jd=I>>>16&65535;break}E=((S(d[5283+(y*3|0)+2>>0]|0,H+-1|0)|0)>>>8)+1|0;if((B|0)<0){Xd(k);pd=c[p>>2]|0;qd=c[o>>2]|0}else{pd=v;qd=B}B=E<<24;if(pd>>>0<B>>>0){rd=1;sd=E;td=pd}else{rd=0;sd=(c[m>>2]|0)-E|0;td=pd-B|0}B=d[16+sd>>0]|0;c[p>>2]=td<<B;c[o>>2]=qd-B;c[m>>2]=sd<<B;if(rd){id=0;jd=0;break}B=((Zd(k,ua)|0)<<1)+ca&65535;id=B;jd=((Zd(k,ra)|0)<<1)+O&65535}while(0);y=jd<<16>>16;I=id<<16>>16;a[ea>>0]=((I|0)>(w|0)|((y|0)<(Q|0)|(y|0)>(W|0)|(I|0)<(N|0)))&1|d[ea>>0];I=d[L>>0]|0;y=(jd&65535)<<16|id&65535;n=I;R=(S(I,V)|0)+(5311+(Tc<<4))|0;while(1){c[X+12+(d[R>>0]<<2)>>2]=y;n=n+-1|0;if(!n)break;else R=R+1|0}V=V+1|0}while((V|0)<(Sc|0));a[X+8>>0]=Tc;c[X+4>>2]=c[X+72>>2];a[X>>0]=9;a[_>>0]=1}while(0)}while(0);c[Da>>2]=(c[Da>>2]|0)+-128;c[Ca>>2]=(c[Ca>>2]|0)+-128;X=X+76|0;j=j+1|0;ud=c[Ea>>2]|0}while((j|0)<(ud|0));vd=c[ka>>2]|0;wd=c[Ha>>2]|0;xd=c[Ga>>2]|0;yd=ud;zd=X}else{vd=Ia;wd=Fa;xd=la;yd=ga;zd=Z}Ia=vd+-128|0;c[ka>>2]=Ia;Fa=wd+-128|0;c[Ha>>2]=Fa;Ba=Ba+1|0;if((Ba|0)>=(xd|0))break;else{la=xd;ga=yd;Z=zd+76|0}}l=g;return}function Zd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0;f=b+16|0;g=((S((c[f>>2]|0)+-1|0,d[e>>0]|0)|0)>>>8)+1|0;h=b+12|0;i=c[h>>2]|0;if((i|0)<0){Xd(b);j=c[h>>2]|0}else j=i;i=b+8|0;k=c[i>>2]|0;l=g<<24;if(k>>>0<l>>>0){m=1;n=g;o=k}else{m=0;n=(c[f>>2]|0)-g|0;o=k-l|0}l=d[16+n>>0]|0;k=n<<l;n=o<<l;o=j-l|0;c[i>>2]=n;c[h>>2]=o;c[f>>2]=k;do if(m){l=e+2|0;j=k;g=o;p=n;q=0;do{r=q<<24>>24;s=((S(d[l+(r>>1)>>0]|0,j+-1|0)|0)>>>8)+1|0;if((g|0)<0){Xd(b);t=c[i>>2]|0;u=c[h>>2]|0}else{t=p;u=g}v=s<<24;if(t>>>0<v>>>0){w=0;x=s;y=t}else{w=1;x=(c[f>>2]|0)-s|0;y=t-v|0}v=d[16+x>>0]|0;j=x<<v;p=y<<v;g=u-v|0;c[i>>2]=p;c[h>>2]=g;c[f>>2]=j;q=a[5007+(w+r)>>0]|0}while(q<<24>>24>0);z=j;A=g;B=p;C=0-(q<<24>>24)|0}else{l=((S(k+-1|0,d[e+9>>0]|0)|0)>>>8)+1|0;if((o|0)<0){Xd(b);D=c[h>>2]|0;E=c[i>>2]|0}else{D=o;E=n}r=l<<24;if(E>>>0<r>>>0){F=0;G=l;H=E}else{F=1;G=(c[f>>2]|0)-l|0;H=E-r|0}r=d[16+G>>0]|0;l=G<<r;v=H<<r;s=D-r|0;c[i>>2]=v;c[h>>2]=s;c[f>>2]=l;r=((S(l+-1|0,d[e+10>>0]|0)|0)>>>8)+1|0;if((s|0)<0){Xd(b);I=c[i>>2]|0;J=c[h>>2]|0}else{I=v;J=s}s=r<<24;if(I>>>0<s>>>0){K=0;L=r;M=I}else{K=2;L=(c[f>>2]|0)-r|0;M=I-s|0}s=d[16+L>>0]|0;r=L<<s;v=M<<s;l=J-s|0;c[i>>2]=v;c[h>>2]=l;c[f>>2]=r;s=((S(r+-1|0,d[e+11>>0]|0)|0)>>>8)+1|0;if((l|0)<0){Xd(b);N=c[i>>2]|0;O=c[h>>2]|0}else{N=v;O=l}l=s<<24;if(N>>>0<l>>>0){P=0;Q=s;R=N}else{P=4;Q=(c[f>>2]|0)-s|0;R=N-l|0}l=d[16+Q>>0]|0;s=Q<<l;v=R<<l;r=O-l|0;c[i>>2]=v;c[h>>2]=r;c[f>>2]=s;l=s;s=r;r=v;v=9;T=P|(K|F);do{U=((S(l+-1|0,d[e+(v+9)>>0]|0)|0)>>>8)+1|0;if((s|0)<0){Xd(b);V=c[i>>2]|0;W=c[h>>2]|0}else{V=r;W=s}X=U<<24;if(V>>>0<X>>>0){Y=0;Z=U;_=V}else{Y=1;Z=(c[f>>2]|0)-U|0;_=V-X|0}X=d[16+Z>>0]|0;l=Z<<X;r=_<<X;s=W-X|0;c[i>>2]=r;c[h>>2]=s;c[f>>2]=l;T=(Y<<v)+T|0;v=v+-1|0}while((v|0)>3);if(T&65520){v=((S(d[e+12>>0]|0,l+-1|0)|0)>>>8)+1|0;if((s|0)<0){Xd(b);$=c[i>>2]|0;aa=c[h>>2]|0}else{$=r;aa=s}q=v<<24;if($>>>0<q>>>0){ba=1;ca=v;da=$}else{ba=0;ca=(c[f>>2]|0)-v|0;da=$-q|0}q=d[16+ca>>0]|0;v=ca<<q;p=da<<q;g=aa-q|0;c[i>>2]=p;c[h>>2]=g;c[f>>2]=v;if(ba){z=v;A=g;B=p;C=T;break}else{ea=p;fa=g;ga=v}}else{ea=r;fa=s;ga=l}z=ga;A=fa;B=ea;C=T+8|0}while(0);if(!C)return 0;ea=((S(z+-1|0,d[e+1>>0]|0)|0)>>>8)+1|0;if((A|0)<0){Xd(b);ha=c[i>>2]|0;ia=c[h>>2]|0}else{ha=B;ia=A}A=ea<<24;if(ha>>>0<A>>>0){ja=1;ka=ea;la=ha;ma=16+ka|0;na=a[ma>>0]|0;oa=na&255;pa=ka<<oa;qa=la<<oa;ra=ia-oa|0;c[i>>2]=qa;c[h>>2]=ra;c[f>>2]=pa;sa=0-C|0;ta=ja?C:sa;return ta|0}ja=0;ka=(c[f>>2]|0)-ea|0;la=ha-A|0;ma=16+ka|0;na=a[ma>>0]|0;oa=na&255;pa=ka<<oa;qa=la<<oa;ra=ia-oa|0;c[i>>2]=qa;c[h>>2]=ra;c[f>>2]=pa;sa=0-C|0;ta=ja?C:sa;return ta|0}function _d(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a+5748|0;e=a+5752|0;f=a+5760|0;g=a+5756|0;h=a+5764|0;i=0;do{b[a+3504+(i<<2)>>1]=sd(i,c[d>>2]|0)|0;b[a+4016+(i<<2)>>1]=td(i,c[e>>2]|0)|0;b[a+4528+(i<<2)>>1]=ud(i,c[f>>2]|0)|0;b[a+3504+(i<<2)+2>>1]=vd(i)|0;b[a+4016+(i<<2)+2>>1]=wd(i,c[g>>2]|0)|0;b[a+4528+(i<<2)+2>>1]=xd(i,c[h>>2]|0)|0;i=i+1|0}while((i|0)!=128);return}function $d(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0;if(!(a[f+3148>>0]|0))g=c[e+5744>>2]|0;else{h=a[(d[(c[f+3088>>2]|0)+11>>0]|0)+(f+3155)>>0]|0;if((a[f+3151>>0]|0)==1)i=h;else i=(c[e+5744>>2]|0)+h|0;g=(i|0)>-1?((i|0)<127?i:127):0}b[f+2048>>1]=1;b[f+2016>>1]=b[e+3504+(g<<2)>>1]|0;b[f+2080>>1]=b[e+4016+(g<<2)>>1]|0;b[f+2112>>1]=b[e+4528+(g<<2)>>1]|0;i=e+3504+(g<<2)+2|0;h=e+4016+(g<<2)+2|0;j=e+4528+(g<<2)+2|0;g=1;do{e=b[i>>1]|0;b[f+2016+(g<<1)>>1]=e;b[f+2048+(g<<1)>>1]=e;b[f+2080+(g<<1)>>1]=b[h>>1]|0;b[f+2112+(g<<1)>>1]=b[j>>1]|0;g=g+1|0}while((g|0)!=16);return}function ae(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Cc=0,Dc=0,Ic=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Vc=0,Zc=0,_c=0,$c=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,Ad=0,Dd=0,Ed=0,Fd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Zd=0,$d=0,ae=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=0,Jf=0,Kf=0,Lf=0,Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0,Tf=0,Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0,_f=0,$f=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0,mg=0,ng=0,og=0,pg=0,qg=0,rg=0,sg=0,tg=0,ug=0,vg=0,wg=0,xg=0,yg=0,zg=0,Ag=0,Bg=0,Cg=0,Dg=0,Eg=0,Fg=0,Gg=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0,Mg=0,Ng=0,Og=0,Pg=0,Qg=0,Rg=0,Tg=0,Ug=0,Vg=0,Wg=0,Xg=0,Zg=0,_g=0,$g=0,ah=0,bh=0,ch=0,dh=0,eh=0,fh=0,gh=0,hh=0,ih=0,jh=0,kh=0,lh=0,mh=0,nh=0,oh=0,ph=0,qh=0,rh=0,sh=0,th=0,uh=0,vh=0,wh=0,xh=0,yh=0,zh=0,Ah=0,Bh=0,Ch=0,Dh=0,Eh=0,Fh=0,Gh=0,Hh=0,Ih=0,Jh=0,Kh=0,Lh=0,Mh=0,Nh=0,Oh=0,Ph=0,Qh=0,Rh=0,Sh=0,Th=0,Uh=0,Vh=0,Wh=0,Xh=0,Yh=0,Zh=0,_h=0,$h=0,ai=0,bi=0,ci=0,di=0,ei=0,fi=0,gi=0,hi=0,ii=0,ji=0,ki=0,li=0,mi=0,ni=0;f=l;l=l+144|0;g=f+72|0;h=f+64|0;i=f+56|0;j=f+48|0;k=f+40|0;m=f+32|0;n=f+24|0;o=f+16|0;p=f+8|0;q=f;r=f+96|0;s=f+80|0;t=e+11680|0;u=e+3248|0;v=e+11740|0;w=c[v>>2]|0;x=e+11776|0;y=c[x>>2]|0;z=e+11980|0;A=c[z>>2]|0;B=e+3232|0;C=c[B>>2]|0;D=e+3220|0;c[D>>2]=0;E=C+112|0;c[E>>2]=0;F=w+y|0;if((y|0)<3){if(!(c[e+11972>>2]|0))Qb(u,7,5375,q);c[e+5700>>2]=1;c[e+11432>>2]=0;c[e+5704>>2]=1;G=w;H=0}else{q=c[e+11988>>2]|0;if(!q)I=w;else{Eb[q&31](c[e+11992>>2]|0,w,r,y>>>0<10?y:10);I=r}q=e+5700|0;c[q>>2]=a[I>>0]&1;c[e+11432>>2]=(d[I>>0]|0)>>>1&7;c[e+5704>>2]=(d[I>>0]|0)>>>4&1;J=(d[I+1>>0]<<8|d[I>>0]|d[I+2>>0]<<16)>>>5;K=e+11972|0;if((c[K>>2]|0)==0&(J|0)>(y|0))Qb(u,7,5392,p);p=I+3|0;Bc(u);if(!(c[q>>2]|0)){q=c[K>>2]|0;do if((y|0)>6|(q|0)==0){if(((a[p>>0]|0)==-99?(a[I+4>>0]|0)==1:0)?(a[I+5>>0]|0)==42:0){L=q;break}Qb(u,5,5439,o);L=c[K>>2]|0}else L=q;while(0);if((y|0)>9|(L|0)==0){L=I+7|0;c[e+5040>>2]=d[L>>0]<<8&16128|d[I+6>>0];c[e+5048>>2]=(d[L>>0]|0)>>>6;L=I+9|0;c[e+5044>>2]=d[L>>0]<<8&16128|d[I+8>>0];c[e+5052>>2]=(d[L>>0]|0)>>>6}M=w+10|0}else{L=w+3|0;N=e+2848|0;O=C;P=N+120|0;do{c[N>>2]=c[O>>2];N=N+4|0;O=O+4|0}while((N|0)<(P|0));N=e+2968|0;O=C;P=N+120|0;do{c[N>>2]=c[O>>2];N=N+4|0;O=O+4|0}while((N|0)<(P|0));M=L}G=M;H=J}J=e+11976|0;M=e+5700|0;L=c[M>>2]|0;w=(L|0)==0;if(!(c[J>>2]|0))if(w)Q=23;else{R=-1;l=f;return R|0}else if(!w){w=(c[e+5736>>2]|0)==0;c[e+3200>>2]=w?1:2;c[e+3204>>2]=w?3:4;c[e+3208>>2]=w?5:6;c[e+3212>>2]=w?7:8;if((c[e+11968>>2]|0)!=0?(w=e+11972|0,(c[w>>2]|0)==0):0){c[w>>2]=1;T=L}else T=L}else Q=23;if((Q|0)==23){N=e+11389|0;O=5062;P=N+38|0;do{a[N>>0]=a[O>>0]|0;N=N+1|0;O=O+1|0}while((N|0)<(P|0));Hc(u);Gc(u);O=e+3155|0;L=O;a[L>>0]=0;a[L+1>>0]=0;a[L+2>>0]=0;a[L+3>>0]=0;L=O+4|0;a[L>>0]=0;a[L+1>>0]=0;a[L+2>>0]=0;a[L+3>>0]=0;a[e+3151>>0]=0;L=e+3169|0;a[L>>0]=0;a[L+1>>0]=0;a[L+2>>0]=0;a[L+3>>0]=0;L=e+3177|0;a[L>>0]=0;a[L+1>>0]=0;a[L+2>>0]=0;a[L+3>>0]=0;c[e+9152>>2]=1;c[e+9156>>2]=1;c[e+9160>>2]=0;c[e+9164>>2]=0;c[e+9180>>2]=0;c[e+9184>>2]=0;T=c[M>>2]|0}L=e+3144|0;c[L>>2]=e+9192;O=c[e+5772>>2]|0;w=e+3088|0;c[w>>2]=O;c[e+3096>>2]=T;a[O>>0]=0;c[e+3092>>2]=c[e+5724>>2];c[D>>2]=0;c[e+2844>>2]=(c[e+5740>>2]|0)==0?-1:-8;O=e+11988|0;T=e+11992|0;if(Wd(t,G,F-G|0,c[O>>2]|0,c[T>>2]|0)|0)Qb(u,2,5463,n);n=e+11696|0;F=c[n>>2]|0;if(!(c[M>>2]|0)){I=(((F<<7)+-128|0)>>>8)+1|0;y=e+11692|0;q=c[y>>2]|0;if((q|0)<0){Xd(t);U=c[y>>2]|0}else U=q;q=e+11688|0;K=c[q>>2]|0;o=I<<24;if(K>>>0<o>>>0){V=I;W=K}else{V=(c[n>>2]|0)-I|0;W=K-o|0}o=d[16+V>>0]|0;K=V<<o;V=W<<o;W=U-o|0;c[q>>2]=V;c[y>>2]=W;c[n>>2]=K;o=(((K<<7)+-128|0)>>>8)+1|0;if((W|0)<0){Xd(t);X=c[q>>2]|0;Y=c[y>>2]|0}else{X=V;Y=W}W=o<<24;if(X>>>0<W>>>0){Z=0;_=o;$=X}else{Z=1;_=(c[n>>2]|0)-o|0;$=X-W|0}W=d[16+_>>0]|0;X=_<<W;_=Y-W|0;c[q>>2]=$<<W;c[y>>2]=_;c[n>>2]=X;c[e+5056>>2]=Z;aa=X;ba=_;ca=y}else{y=e+11692|0;aa=F;ba=c[y>>2]|0;ca=y}y=(((aa<<7)+-128|0)>>>8)+1|0;if((ba|0)<0){Xd(t);da=c[ca>>2]|0}else da=ba;ba=e+11688|0;aa=c[ba>>2]|0;F=y<<24;if(aa>>>0<F>>>0){ea=0;fa=y;ga=aa}else{ea=1;fa=(c[n>>2]|0)-y|0;ga=aa-F|0}F=d[16+fa>>0]|0;aa=fa<<F;fa=ga<<F;ga=da-F|0;c[ba>>2]=fa;c[ca>>2]=ga;c[n>>2]=aa;F=e+3148|0;a[F>>0]=ea;if(ea<<24>>24){ea=(((aa<<7)+-128|0)>>>8)+1|0;if((ga|0)<0){Xd(t);ha=c[ba>>2]|0;ia=c[ca>>2]|0}else{ha=fa;ia=ga}ga=ea<<24;if(ha>>>0<ga>>>0){ja=0;ka=ea;la=ha}else{ja=1;ka=(c[n>>2]|0)-ea|0;la=ha-ga|0}ga=d[16+ka>>0]|0;ha=ka<<ga;ka=la<<ga;la=ia-ga|0;c[ba>>2]=ka;c[ca>>2]=la;c[n>>2]=ha;ga=e+3149|0;a[ga>>0]=ja;ja=(((ha<<7)+-128|0)>>>8)+1|0;if((la|0)<0){Xd(t);ma=c[ba>>2]|0;na=c[ca>>2]|0}else{ma=ka;na=la}la=ja<<24;if(ma>>>0<la>>>0){oa=0;pa=ja;qa=ma}else{oa=1;pa=(c[n>>2]|0)-ja|0;qa=ma-la|0}la=d[16+pa>>0]|0;ma=pa<<la;pa=qa<<la;qa=na-la|0;c[ba>>2]=pa;c[ca>>2]=qa;c[n>>2]=ma;a[e+3150>>0]=oa;if(oa<<24>>24){oa=(((ma<<7)+-128|0)>>>8)+1|0;if((qa|0)<0){Xd(t);ra=c[ba>>2]|0;sa=c[ca>>2]|0}else{ra=pa;sa=qa}qa=oa<<24;if(ra>>>0<qa>>>0){ta=0;ua=oa;va=ra}else{ta=1;ua=(c[n>>2]|0)-oa|0;va=ra-qa|0}qa=d[16+ua>>0]|0;c[ba>>2]=va<<qa;c[ca>>2]=sa-qa;c[n>>2]=ua<<qa;a[e+3151>>0]=ta;ta=e+3155|0;qa=ta;a[qa>>0]=0;a[qa+1>>0]=0;a[qa+2>>0]=0;a[qa+3>>0]=0;qa=ta+4|0;a[qa>>0]=0;a[qa+1>>0]=0;a[qa+2>>0]=0;a[qa+3>>0]=0;qa=0;do{ta=400+(qa<<2)|0;ua=0;do{sa=(((c[n>>2]<<7)+-128|0)>>>8)+1|0;va=c[ca>>2]|0;if((va|0)<0){Xd(t);wa=c[ca>>2]|0}else wa=va;va=c[ba>>2]|0;ra=sa<<24;if(va>>>0<ra>>>0){xa=1;ya=sa;za=va}else{xa=0;ya=(c[n>>2]|0)-sa|0;za=va-ra|0}ra=d[16+ya>>0]|0;va=ya<<ra;sa=za<<ra;oa=wa-ra|0;c[ba>>2]=sa;c[ca>>2]=oa;c[n>>2]=va;do if(xa){Aa=e+3155+(qa<<2)+ua|0;Ba=0;Q=78}else{ra=c[ta>>2]|0;if((ra|0)>0){pa=sa;ma=va;la=oa;na=ra;ra=0;while(1){ja=na;na=na+-1|0;ka=(((ma<<7)+-128|0)>>>8)+1|0;if((la|0)<0){Xd(t);Ca=c[ba>>2]|0;Da=c[ca>>2]|0}else{Ca=pa;Da=la}ha=ka<<24;if(Ca>>>0<ha>>>0){Ea=0;Fa=ka;Ga=Ca}else{Ea=1;Fa=(c[n>>2]|0)-ka|0;Ga=Ca-ha|0}ha=d[16+Fa>>0]|0;ma=Fa<<ha;pa=Ga<<ha;la=Da-ha|0;c[ba>>2]=pa;c[ca>>2]=la;c[n>>2]=ma;ha=Ea<<na|ra;if((ja|0)<=1){Ha=ha;break}else ra=ha}}else Ha=0;ra=e+3155+(qa<<2)+ua|0;a[ra>>0]=Ha;na=(((c[n>>2]<<7)+-128|0)>>>8)+1|0;ma=c[ca>>2]|0;if((ma|0)<0){Xd(t);Ia=c[ca>>2]|0}else Ia=ma;ma=c[ba>>2]|0;la=na<<24;if(ma>>>0<la>>>0){Ja=1;Ka=na;La=ma}else{Ja=0;Ka=(c[n>>2]|0)-na|0;La=ma-la|0}la=d[16+Ka>>0]|0;c[ba>>2]=La<<la;c[ca>>2]=Ia-la;c[n>>2]=Ka<<la;if(Ja)break;Aa=ra;Ba=0-(d[ra>>0]|0)&255;Q=78}while(0);if((Q|0)==78){Q=0;a[Aa>>0]=Ba}ua=ua+1|0}while((ua|0)!=4);qa=qa+1|0}while((qa|0)!=2)}if(a[ga>>0]|0){ga=e+3152|0;b[ga>>1]=65535;a[ga+2>>0]=255;ga=0;do{qa=(((c[n>>2]<<7)+-128|0)>>>8)+1|0;Ba=c[ca>>2]|0;if((Ba|0)<0){Xd(t);Ma=c[ca>>2]|0}else Ma=Ba;Ba=c[ba>>2]|0;Aa=qa<<24;if(Ba>>>0<Aa>>>0){Na=1;Oa=qa;Pa=Ba}else{Na=0;Oa=(c[n>>2]|0)-qa|0;Pa=Ba-Aa|0}Aa=d[16+Oa>>0]|0;Ba=Oa<<Aa;qa=Pa<<Aa;Ja=Ma-Aa|0;c[ba>>2]=qa;c[ca>>2]=Ja;c[n>>2]=Ba;if(!Na){Aa=Ba;Ba=Ja;Ja=qa;qa=8;Ka=0;do{Ia=qa;qa=qa+-1|0;La=(((Aa<<7)+-128|0)>>>8)+1|0;if((Ba|0)<0){Xd(t);Qa=c[ba>>2]|0;Ra=c[ca>>2]|0}else{Qa=Ja;Ra=Ba}Ha=La<<24;if(Qa>>>0<Ha>>>0){Sa=0;Ta=La;Ua=Qa}else{Sa=1;Ta=(c[n>>2]|0)-La|0;Ua=Qa-Ha|0}Ha=d[16+Ta>>0]|0;Aa=Ta<<Ha;Ja=Ua<<Ha;Ba=Ra-Ha|0;c[ba>>2]=Ja;c[ca>>2]=Ba;c[n>>2]=Aa;Ka=Sa<<qa|Ka}while((Ia|0)>1);a[e+3152+ga>>0]=Ka}ga=ga+1|0}while((ga|0)!=3)}}else{a[e+3149>>0]=0;a[e+3150>>0]=0}ga=(((c[n>>2]<<7)+-128|0)>>>8)+1|0;Sa=c[ca>>2]|0;if((Sa|0)<0){Xd(t);Va=c[ca>>2]|0}else Va=Sa;Sa=c[ba>>2]|0;Ra=ga<<24;if(Sa>>>0<Ra>>>0){Wa=0;Xa=ga;Ya=Sa}else{Wa=1;Xa=(c[n>>2]|0)-ga|0;Ya=Sa-Ra|0}Ra=d[16+Xa>>0]|0;Sa=Xa<<Ra;Xa=Ya<<Ra;Ya=Va-Ra|0;c[ba>>2]=Xa;c[ca>>2]=Ya;c[n>>2]=Sa;Ra=e+5780|0;c[Ra>>2]=Wa;Wa=Sa;Sa=Ya;Ya=Xa;Xa=6;Va=0;do{ga=Xa;Xa=Xa+-1|0;Ua=(((Wa<<7)+-128|0)>>>8)+1|0;if((Sa|0)<0){Xd(t);Za=c[ba>>2]|0;_a=c[ca>>2]|0}else{Za=Ya;_a=Sa}Ta=Ua<<24;if(Za>>>0<Ta>>>0){$a=0;ab=Ua;bb=Za}else{$a=1;ab=(c[n>>2]|0)-Ua|0;bb=Za-Ta|0}Ta=d[16+ab>>0]|0;Wa=ab<<Ta;Ya=bb<<Ta;Sa=_a-Ta|0;c[ba>>2]=Ya;c[ca>>2]=Sa;c[n>>2]=Wa;Va=$a<<Xa|Va}while((ga|0)>1);Xa=e+9136|0;c[Xa>>2]=Va;Va=(((Wa<<7)+-128|0)>>>8)+1|0;if((Sa|0)<0){Xd(t);cb=c[ba>>2]|0;db=c[ca>>2]|0}else{cb=Ya;db=Sa}Sa=Va<<24;if(cb>>>0<Sa>>>0){eb=0;fb=Va;gb=cb}else{eb=4;fb=(c[n>>2]|0)-Va|0;gb=cb-Sa|0}Sa=d[16+fb>>0]|0;cb=fb<<Sa;fb=gb<<Sa;gb=db-Sa|0;c[ba>>2]=fb;c[ca>>2]=gb;c[n>>2]=cb;Sa=(((cb<<7)+-128|0)>>>8)+1|0;if((gb|0)<0){Xd(t);hb=c[ba>>2]|0;ib=c[ca>>2]|0}else{hb=fb;ib=gb}gb=Sa<<24;if(hb>>>0<gb>>>0){jb=0;kb=Sa;lb=hb}else{jb=2;kb=(c[n>>2]|0)-Sa|0;lb=hb-gb|0}gb=d[16+kb>>0]|0;hb=kb<<gb;kb=lb<<gb;lb=ib-gb|0;c[ba>>2]=kb;c[ca>>2]=lb;c[n>>2]=hb;gb=(((hb<<7)+-128|0)>>>8)+1|0;if((lb|0)<0){Xd(t);mb=c[ba>>2]|0;nb=c[ca>>2]|0}else{mb=kb;nb=lb}lb=gb<<24;if(mb>>>0<lb>>>0){ob=0;pb=gb;qb=mb}else{ob=1;pb=(c[n>>2]|0)-gb|0;qb=mb-lb|0}lb=d[16+pb>>0]|0;mb=pb<<lb;pb=qb<<lb;qb=nb-lb|0;c[ba>>2]=pb;c[ca>>2]=qb;c[n>>2]=mb;c[e+9144>>2]=ob|(jb|eb);eb=e+3164|0;a[eb>>0]=0;jb=(((mb<<7)+-128|0)>>>8)+1|0;if((qb|0)<0){Xd(t);rb=c[ba>>2]|0;sb=c[ca>>2]|0}else{rb=pb;sb=qb}qb=jb<<24;if(rb>>>0<qb>>>0){tb=0;ub=jb;vb=rb}else{tb=1;ub=(c[n>>2]|0)-jb|0;vb=rb-qb|0}qb=d[16+ub>>0]|0;rb=ub<<qb;ub=vb<<qb;vb=sb-qb|0;c[ba>>2]=ub;c[ca>>2]=vb;c[n>>2]=rb;a[e+3163>>0]=tb;do if(!(tb<<24>>24)){wb=rb;xb=vb}else{qb=(((rb<<7)+-128|0)>>>8)+1|0;if((vb|0)<0){Xd(t);yb=c[ba>>2]|0;zb=c[ca>>2]|0}else{yb=ub;zb=vb}sb=qb<<24;if(yb>>>0<sb>>>0){Ab=0;Bb=qb;Cb=yb}else{Ab=1;Bb=(c[n>>2]|0)-qb|0;Cb=yb-sb|0}sb=d[16+Bb>>0]|0;qb=Bb<<sb;jb=zb-sb|0;c[ba>>2]=Cb<<sb;c[ca>>2]=jb;c[n>>2]=qb;a[eb>>0]=Ab;if(!(Ab<<24>>24)){wb=qb;xb=jb;break}else{Db=qb;Fb=jb;Gb=0}while(1){jb=(((Db<<7)+-128|0)>>>8)+1|0;if((Fb|0)<0){Xd(t);Hb=c[ca>>2]|0}else Hb=Fb;qb=c[ba>>2]|0;sb=jb<<24;if(qb>>>0<sb>>>0){Ib=1;Jb=jb;Kb=qb}else{Ib=0;Jb=(c[n>>2]|0)-jb|0;Kb=qb-sb|0}sb=d[16+Jb>>0]|0;qb=Jb<<sb;jb=Kb<<sb;pb=Hb-sb|0;c[ba>>2]=jb;c[ca>>2]=pb;c[n>>2]=qb;do if(!Ib){sb=qb;mb=pb;ob=jb;lb=6;nb=0;do{gb=lb;lb=lb+-1|0;kb=(((sb<<7)+-128|0)>>>8)+1|0;if((mb|0)<0){Xd(t);Lb=c[ba>>2]|0;Mb=c[ca>>2]|0}else{Lb=ob;Mb=mb}hb=kb<<24;if(Lb>>>0<hb>>>0){Nb=0;Ob=kb;Pb=Lb}else{Nb=1;Ob=(c[n>>2]|0)-kb|0;Pb=Lb-hb|0}hb=d[16+Ob>>0]|0;sb=Ob<<hb;ob=Pb<<hb;mb=Mb-hb|0;c[ba>>2]=ob;c[ca>>2]=mb;c[n>>2]=sb;nb=Nb<<lb|nb}while((gb|0)>1);lb=e+3169+Gb|0;a[lb>>0]=nb;sb=(((c[n>>2]<<7)+-128|0)>>>8)+1|0;mb=c[ca>>2]|0;if((mb|0)<0){Xd(t);Rb=c[ca>>2]|0}else Rb=mb;mb=c[ba>>2]|0;ob=sb<<24;if(mb>>>0<ob>>>0){Sb=1;Tb=sb;Ub=mb}else{Sb=0;Tb=(c[n>>2]|0)-sb|0;Ub=mb-ob|0}ob=d[16+Tb>>0]|0;c[ba>>2]=Ub<<ob;c[ca>>2]=Rb-ob;c[n>>2]=Tb<<ob;if(Sb)break;a[lb>>0]=0-(d[lb>>0]|0)}while(0);jb=Gb+1|0;if((jb|0)==4){Vb=0;break}Db=c[n>>2]|0;Fb=c[ca>>2]|0;Gb=jb}do{Ka=(((c[n>>2]<<7)+-128|0)>>>8)+1|0;jb=c[ca>>2]|0;if((jb|0)<0){Xd(t);Wb=c[ca>>2]|0}else Wb=jb;jb=c[ba>>2]|0;pb=Ka<<24;if(jb>>>0<pb>>>0){Xb=1;Zb=Ka;_b=jb}else{Xb=0;Zb=(c[n>>2]|0)-Ka|0;_b=jb-pb|0}pb=d[16+Zb>>0]|0;jb=Zb<<pb;Ka=_b<<pb;qb=Wb-pb|0;c[ba>>2]=Ka;c[ca>>2]=qb;c[n>>2]=jb;do if(!Xb){pb=jb;lb=qb;ob=Ka;mb=6;sb=0;do{gb=mb;mb=mb+-1|0;hb=(((pb<<7)+-128|0)>>>8)+1|0;if((lb|0)<0){Xd(t);$b=c[ba>>2]|0;ac=c[ca>>2]|0}else{$b=ob;ac=lb}kb=hb<<24;if($b>>>0<kb>>>0){bc=0;cc=hb;dc=$b}else{bc=1;cc=(c[n>>2]|0)-hb|0;dc=$b-kb|0}kb=d[16+cc>>0]|0;pb=cc<<kb;ob=dc<<kb;lb=ac-kb|0;c[ba>>2]=ob;c[ca>>2]=lb;c[n>>2]=pb;sb=bc<<mb|sb}while((gb|0)>1);mb=e+3177+Vb|0;a[mb>>0]=sb;pb=(((c[n>>2]<<7)+-128|0)>>>8)+1|0;lb=c[ca>>2]|0;if((lb|0)<0){Xd(t);ec=c[ca>>2]|0}else ec=lb;lb=c[ba>>2]|0;ob=pb<<24;if(lb>>>0<ob>>>0){fc=1;gc=pb;hc=lb}else{fc=0;gc=(c[n>>2]|0)-pb|0;hc=lb-ob|0}ob=d[16+gc>>0]|0;c[ba>>2]=hc<<ob;c[ca>>2]=ec-ob;c[n>>2]=gc<<ob;if(fc)break;a[mb>>0]=0-(d[mb>>0]|0)}while(0);Vb=Vb+1|0}while((Vb|0)!=4);wb=c[n>>2]|0;xb=c[ca>>2]|0}while(0);Vb=G+H|0;H=c[v>>2]|0;G=c[x>>2]|0;fc=(((wb<<7)+-128|0)>>>8)+1|0;if((xb|0)<0){Xd(t);ic=c[ca>>2]|0}else ic=xb;xb=c[ba>>2]|0;wb=fc<<24;if(xb>>>0<wb>>>0){jc=0;kc=fc;lc=xb}else{jc=2;kc=(c[n>>2]|0)-fc|0;lc=xb-wb|0}wb=d[16+kc>>0]|0;xb=kc<<wb;kc=lc<<wb;lc=ic-wb|0;c[ba>>2]=kc;c[ca>>2]=lc;c[n>>2]=xb;wb=(((xb<<7)+-128|0)>>>8)+1|0;if((lc|0)<0){Xd(t);mc=c[ba>>2]|0;nc=c[ca>>2]|0}else{mc=kc;nc=lc}lc=wb<<24;if(mc>>>0<lc>>>0){oc=0;pc=wb;qc=mc}else{oc=1;pc=(c[n>>2]|0)-wb|0;qc=mc-lc|0}lc=d[16+pc>>0]|0;mc=nc-lc|0;c[ba>>2]=qc<<lc;c[ca>>2]=mc;c[n>>2]=pc<<lc;lc=oc|jc;jc=e+11456|0;oc=H+G|0;G=e+11436|0;if((mc+-33|0)>>>0<1073741791)rc=c[G>>2]|0;else{c[G>>2]=lc;rc=lc}lc=1<<rc;mc=e+11736|0;if(c[mc>>2]|0){H=Vb;pc=(3<<rc)+-3|0;rc=lc+-1|0;qc=e+11972|0;nc=e+3248|0;wb=e+11744|0;kc=0;do{xb=c[e+11776+(kc<<2)>>2]|0;ic=(c[e+11740+(kc<<2)>>2]|0)+xb|0;do if(!kc){fc=c[v>>2]|0;gc=pc+(H-fc)|0;ec=xb-gc|0;if(!ec){sc=0;tc=0;break}c[x>>2]=gc;c[wb>>2]=fc+gc;sc=1;tc=ec}else{sc=kc;tc=xb}while(0);xb=ic;ec=sc;gc=tc;a:while(1){fc=e+11740+(ec<<2)|0;hc=ec+-1|0;bc=Vb+(hc*3|0)|0;ac=e+11776+(ec<<2)|0;b:do if((rc|0)>(hc|0)){if((bc+3|0)>>>0>oc>>>0){dc=gc;while(1){if(!dc)break a;cc=xb-(c[fc>>2]|0)|0;do if(!(c[qc>>2]|0)){Qb(nc,7,5497,m);if(c[qc>>2]|0){uc=cc;break}c[k>>2]=ec;Qb(nc,7,5527,k);uc=0}else uc=cc;while(0);c[ac>>2]=uc;cc=dc-uc|0;if(!cc)dc=0;else{vc=uc;wc=cc;break b}}}else xc=gc;while(1){if(!xc)break a;dc=c[fc>>2]|0;sb=xb-dc|0;cc=c[O>>2]|0;if(!cc)yc=bc;else{Eb[cc&31](c[T>>2]|0,bc,r,3);yc=r}cc=d[yc+1>>0]<<8|d[yc>>0]|d[yc+2>>0]<<16;do if((cc|0)!=0&(dc+cc|0)>>>0<=ic>>>0)zc=cc;else{if(c[qc>>2]|0){zc=sb;break}c[j>>2]=ec;Qb(nc,7,5527,j);zc=cc}while(0);c[ac>>2]=zc;cc=xc-zc|0;if(!cc)xc=0;else{vc=zc;wc=cc;break}}}else{cc=gc;while(1){if(!cc)break a;sb=xb-(c[fc>>2]|0)|0;do if((sb|0)<=0){if(c[qc>>2]|0)break;c[i>>2]=ec;Qb(nc,7,5527,i)}while(0);c[ac>>2]=sb;dc=cc-sb|0;if(!dc)cc=0;else{vc=sb;wc=dc;break}}}while(0);ac=ec+1|0;c[e+11740+(ac<<2)>>2]=(c[fc>>2]|0)+vc;ec=ac;gc=wc}kc=ec+1|0}while(kc>>>0<(c[mc>>2]|0)>>>0)}kc=lc+1|0;c[mc>>2]=kc;if(kc>>>0>1){kc=e+3248|0;wc=jc;vc=1;while(1){if(Wd(wc,c[e+11740+(vc<<2)>>2]|0,c[e+11776+(vc<<2)>>2]|0,c[O>>2]|0,c[T>>2]|0)|0){c[h>>2]=vc;Qb(kc,2,5575,h)}vc=vc+1|0;if(vc>>>0>=(c[mc>>2]|0)>>>0)break;else wc=wc+28|0}}wc=e+11824|0;mc=c[wc>>2]|0;vc=lc+-1|0;if(mc>>>0>vc>>>0){c[wc>>2]=vc;Ac=vc}else Ac=mc;mc=e+5716|0;vc=c[mc>>2]|0;if((Ac|0)>=(vc|0))c[wc>>2]=vc+-1;vc=e+3216|0;c[vc>>2]=jc;jc=c[n>>2]|0;Ac=c[ca>>2]|0;lc=7;h=0;do{kc=lc;lc=lc+-1|0;T=(((jc<<7)+-128|0)>>>8)+1|0;if((Ac|0)<0){Xd(t);Cc=c[ca>>2]|0}else Cc=Ac;O=c[ba>>2]|0;i=T<<24;if(O>>>0<i>>>0){Dc=0;Ic=T;Kc=O}else{Dc=1;Ic=(c[n>>2]|0)-T|0;Kc=O-i|0}i=d[16+Ic>>0]|0;jc=Ic<<i;Lc=Kc<<i;Ac=Cc-i|0;c[ba>>2]=Lc;c[ca>>2]=Ac;c[n>>2]=jc;h=Dc<<lc|h}while((kc|0)>1);lc=e+5744|0;c[lc>>2]=h;h=e+5748|0;Dc=c[h>>2]|0;Cc=(((jc<<7)+-128|0)>>>8)+1|0;if((Ac|0)<0){Xd(t);Mc=c[ba>>2]|0;Nc=c[ca>>2]|0}else{Mc=Lc;Nc=Ac}Ac=Cc<<24;if(Mc>>>0<Ac>>>0){Oc=1;Pc=Cc;Qc=Mc}else{Oc=0;Pc=(c[n>>2]|0)-Cc|0;Qc=Mc-Ac|0}Ac=d[16+Pc>>0]|0;Mc=Pc<<Ac;Pc=Qc<<Ac;Qc=Nc-Ac|0;c[ba>>2]=Pc;c[ca>>2]=Qc;c[n>>2]=Mc;if(Oc){Rc=Mc;Sc=Qc;Vc=Pc;Zc=0}else{Oc=(((Mc<<7)+-128|0)>>>8)+1|0;if((Qc|0)<0){Xd(t);_c=c[ba>>2]|0;$c=c[ca>>2]|0}else{_c=Pc;$c=Qc}Qc=Oc<<24;if(_c>>>0<Qc>>>0){dd=0;ed=Oc;fd=_c}else{dd=8;ed=(c[n>>2]|0)-Oc|0;fd=_c-Qc|0}Qc=d[16+ed>>0]|0;_c=ed<<Qc;ed=fd<<Qc;fd=$c-Qc|0;c[ba>>2]=ed;c[ca>>2]=fd;c[n>>2]=_c;Qc=(((_c<<7)+-128|0)>>>8)+1|0;if((fd|0)<0){Xd(t);gd=c[ba>>2]|0;hd=c[ca>>2]|0}else{gd=ed;hd=fd}fd=Qc<<24;if(gd>>>0<fd>>>0){id=0;jd=Qc;kd=gd}else{id=4;jd=(c[n>>2]|0)-Qc|0;kd=gd-fd|0}fd=d[16+jd>>0]|0;gd=jd<<fd;jd=kd<<fd;kd=hd-fd|0;c[ba>>2]=jd;c[ca>>2]=kd;c[n>>2]=gd;fd=(((gd<<7)+-128|0)>>>8)+1|0;if((kd|0)<0){Xd(t);ld=c[ba>>2]|0;md=c[ca>>2]|0}else{ld=jd;md=kd}kd=fd<<24;if(ld>>>0<kd>>>0){nd=0;od=fd;pd=ld}else{nd=2;od=(c[n>>2]|0)-fd|0;pd=ld-kd|0}kd=d[16+od>>0]|0;ld=od<<kd;od=pd<<kd;pd=md-kd|0;c[ba>>2]=od;c[ca>>2]=pd;c[n>>2]=ld;kd=(((ld<<7)+-128|0)>>>8)+1|0;if((pd|0)<0){Xd(t);qd=c[ba>>2]|0;rd=c[ca>>2]|0}else{qd=od;rd=pd}pd=kd<<24;if(qd>>>0<pd>>>0){sd=0;td=kd;ud=qd}else{sd=1;td=(c[n>>2]|0)-kd|0;ud=qd-pd|0}pd=d[16+td>>0]|0;qd=td<<pd;td=ud<<pd;ud=rd-pd|0;c[ba>>2]=td;c[ca>>2]=ud;c[n>>2]=qd;pd=sd|(nd|(id|dd));dd=(((qd<<7)+-128|0)>>>8)+1|0;if((ud|0)<0){Xd(t);vd=c[ba>>2]|0;wd=c[ca>>2]|0}else{vd=td;wd=ud}ud=dd<<24;if(vd>>>0<ud>>>0){xd=1;yd=dd;Ad=vd}else{xd=0;yd=(c[n>>2]|0)-dd|0;Ad=vd-ud|0}ud=d[16+yd>>0]|0;vd=yd<<ud;yd=Ad<<ud;Ad=wd-ud|0;c[ba>>2]=yd;c[ca>>2]=Ad;c[n>>2]=vd;Rc=vd;Sc=Ad;Vc=yd;Zc=xd?pd:0-pd|0}pd=(Zc|0)!=(Dc|0);c[h>>2]=Zc;Zc=e+5752|0;h=c[Zc>>2]|0;Dc=(((Rc<<7)+-128|0)>>>8)+1|0;if((Sc|0)<0){Xd(t);Dd=c[ba>>2]|0;Ed=c[ca>>2]|0}else{Dd=Vc;Ed=Sc}Sc=Dc<<24;if(Dd>>>0<Sc>>>0){Fd=1;Id=Dc;Jd=Dd}else{Fd=0;Id=(c[n>>2]|0)-Dc|0;Jd=Dd-Sc|0}Sc=d[16+Id>>0]|0;Dd=Id<<Sc;Id=Jd<<Sc;Jd=Ed-Sc|0;c[ba>>2]=Id;c[ca>>2]=Jd;c[n>>2]=Dd;if(Fd){Kd=Dd;Ld=Jd;Md=Id;Nd=0}else{Fd=(((Dd<<7)+-128|0)>>>8)+1|0;if((Jd|0)<0){Xd(t);Od=c[ba>>2]|0;Pd=c[ca>>2]|0}else{Od=Id;Pd=Jd}Jd=Fd<<24;if(Od>>>0<Jd>>>0){Qd=0;Rd=Fd;Sd=Od}else{Qd=8;Rd=(c[n>>2]|0)-Fd|0;Sd=Od-Jd|0}Jd=d[16+Rd>>0]|0;Od=Rd<<Jd;Rd=Sd<<Jd;Sd=Pd-Jd|0;c[ba>>2]=Rd;c[ca>>2]=Sd;c[n>>2]=Od;Jd=(((Od<<7)+-128|0)>>>8)+1|0;if((Sd|0)<0){Xd(t);Td=c[ba>>2]|0;Ud=c[ca>>2]|0}else{Td=Rd;Ud=Sd}Sd=Jd<<24;if(Td>>>0<Sd>>>0){Vd=0;Zd=Jd;$d=Td}else{Vd=4;Zd=(c[n>>2]|0)-Jd|0;$d=Td-Sd|0}Sd=d[16+Zd>>0]|0;Td=Zd<<Sd;Zd=$d<<Sd;$d=Ud-Sd|0;c[ba>>2]=Zd;c[ca>>2]=$d;c[n>>2]=Td;Sd=(((Td<<7)+-128|0)>>>8)+1|0;if(($d|0)<0){Xd(t);ae=c[ba>>2]|0;ee=c[ca>>2]|0}else{ae=Zd;ee=$d}$d=Sd<<24;if(ae>>>0<$d>>>0){fe=0;ge=Sd;he=ae}else{fe=2;ge=(c[n>>2]|0)-Sd|0;he=ae-$d|0}$d=d[16+ge>>0]|0;ae=ge<<$d;ge=he<<$d;he=ee-$d|0;c[ba>>2]=ge;c[ca>>2]=he;c[n>>2]=ae;$d=(((ae<<7)+-128|0)>>>8)+1|0;if((he|0)<0){Xd(t);ie=c[ba>>2]|0;je=c[ca>>2]|0}else{ie=ge;je=he}he=$d<<24;if(ie>>>0<he>>>0){ke=0;le=$d;me=ie}else{ke=1;le=(c[n>>2]|0)-$d|0;me=ie-he|0}he=d[16+le>>0]|0;ie=le<<he;le=me<<he;me=je-he|0;c[ba>>2]=le;c[ca>>2]=me;c[n>>2]=ie;he=ke|(fe|(Vd|Qd));Qd=(((ie<<7)+-128|0)>>>8)+1|0;if((me|0)<0){Xd(t);ne=c[ba>>2]|0;oe=c[ca>>2]|0}else{ne=le;oe=me}me=Qd<<24;if(ne>>>0<me>>>0){pe=1;qe=Qd;re=ne}else{pe=0;qe=(c[n>>2]|0)-Qd|0;re=ne-me|0}me=d[16+qe>>0]|0;ne=qe<<me;qe=re<<me;re=oe-me|0;c[ba>>2]=qe;c[ca>>2]=re;c[n>>2]=ne;Kd=ne;Ld=re;Md=qe;Nd=pe?he:0-he|0}he=pd|(Nd|0)!=(h|0);c[Zc>>2]=Nd;Nd=e+5756|0;Zc=c[Nd>>2]|0;h=(((Kd<<7)+-128|0)>>>8)+1|0;if((Ld|0)<0){Xd(t);se=c[ba>>2]|0;te=c[ca>>2]|0}else{se=Md;te=Ld}Ld=h<<24;if(se>>>0<Ld>>>0){ve=1;we=h;xe=se}else{ve=0;we=(c[n>>2]|0)-h|0;xe=se-Ld|0}Ld=d[16+we>>0]|0;se=we<<Ld;we=xe<<Ld;xe=te-Ld|0;c[ba>>2]=we;c[ca>>2]=xe;c[n>>2]=se;if(ve){ye=se;ze=xe;Ae=we;Be=0}else{ve=(((se<<7)+-128|0)>>>8)+1|0;if((xe|0)<0){Xd(t);Ce=c[ba>>2]|0;De=c[ca>>2]|0}else{Ce=we;De=xe}xe=ve<<24;if(Ce>>>0<xe>>>0){Ee=0;Fe=ve;Ge=Ce}else{Ee=8;Fe=(c[n>>2]|0)-ve|0;Ge=Ce-xe|0}xe=d[16+Fe>>0]|0;Ce=Fe<<xe;Fe=Ge<<xe;Ge=De-xe|0;c[ba>>2]=Fe;c[ca>>2]=Ge;c[n>>2]=Ce;xe=(((Ce<<7)+-128|0)>>>8)+1|0;if((Ge|0)<0){Xd(t);He=c[ba>>2]|0;Ie=c[ca>>2]|0}else{He=Fe;Ie=Ge}Ge=xe<<24;if(He>>>0<Ge>>>0){Je=0;Ke=xe;Le=He}else{Je=4;Ke=(c[n>>2]|0)-xe|0;Le=He-Ge|0}Ge=d[16+Ke>>0]|0;He=Ke<<Ge;Ke=Le<<Ge;Le=Ie-Ge|0;c[ba>>2]=Ke;c[ca>>2]=Le;c[n>>2]=He;Ge=(((He<<7)+-128|0)>>>8)+1|0;if((Le|0)<0){Xd(t);Me=c[ba>>2]|0;Ne=c[ca>>2]|0}else{Me=Ke;Ne=Le}Le=Ge<<24;if(Me>>>0<Le>>>0){Oe=0;Pe=Ge;Qe=Me}else{Oe=2;Pe=(c[n>>2]|0)-Ge|0;Qe=Me-Le|0}Le=d[16+Pe>>0]|0;Me=Pe<<Le;Pe=Qe<<Le;Qe=Ne-Le|0;c[ba>>2]=Pe;c[ca>>2]=Qe;c[n>>2]=Me;Le=(((Me<<7)+-128|0)>>>8)+1|0;if((Qe|0)<0){Xd(t);Re=c[ba>>2]|0;Se=c[ca>>2]|0}else{Re=Pe;Se=Qe}Qe=Le<<24;if(Re>>>0<Qe>>>0){Te=0;Ue=Le;Ve=Re}else{Te=1;Ue=(c[n>>2]|0)-Le|0;Ve=Re-Qe|0}Qe=d[16+Ue>>0]|0;Re=Ue<<Qe;Ue=Ve<<Qe;Ve=Se-Qe|0;c[ba>>2]=Ue;c[ca>>2]=Ve;c[n>>2]=Re;Qe=Te|(Oe|(Je|Ee));Ee=(((Re<<7)+-128|0)>>>8)+1|0;if((Ve|0)<0){Xd(t);We=c[ba>>2]|0;Xe=c[ca>>2]|0}else{We=Ue;Xe=Ve}Ve=Ee<<24;if(We>>>0<Ve>>>0){Ye=1;Ze=Ee;_e=We}else{Ye=0;Ze=(c[n>>2]|0)-Ee|0;_e=We-Ve|0}Ve=d[16+Ze>>0]|0;We=Ze<<Ve;Ze=_e<<Ve;_e=Xe-Ve|0;c[ba>>2]=Ze;c[ca>>2]=_e;c[n>>2]=We;ye=We;ze=_e;Ae=Ze;Be=Ye?Qe:0-Qe|0}Qe=he|(Be|0)!=(Zc|0);c[Nd>>2]=Be;Be=e+5760|0;Nd=c[Be>>2]|0;Zc=(((ye<<7)+-128|0)>>>8)+1|0;if((ze|0)<0){Xd(t);$e=c[ba>>2]|0;af=c[ca>>2]|0}else{$e=Ae;af=ze}ze=Zc<<24;if($e>>>0<ze>>>0){bf=1;cf=Zc;df=$e}else{bf=0;cf=(c[n>>2]|0)-Zc|0;df=$e-ze|0}ze=d[16+cf>>0]|0;$e=cf<<ze;cf=df<<ze;df=af-ze|0;c[ba>>2]=cf;c[ca>>2]=df;c[n>>2]=$e;if(bf){ef=$e;ff=df;gf=cf;hf=0}else{bf=((($e<<7)+-128|0)>>>8)+1|0;if((df|0)<0){Xd(t);jf=c[ba>>2]|0;kf=c[ca>>2]|0}else{jf=cf;kf=df}df=bf<<24;if(jf>>>0<df>>>0){lf=0;mf=bf;nf=jf}else{lf=8;mf=(c[n>>2]|0)-bf|0;nf=jf-df|0}df=d[16+mf>>0]|0;jf=mf<<df;mf=nf<<df;nf=kf-df|0;c[ba>>2]=mf;c[ca>>2]=nf;c[n>>2]=jf;df=(((jf<<7)+-128|0)>>>8)+1|0;if((nf|0)<0){Xd(t);of=c[ba>>2]|0;pf=c[ca>>2]|0}else{of=mf;pf=nf}nf=df<<24;if(of>>>0<nf>>>0){qf=0;rf=df;sf=of}else{qf=4;rf=(c[n>>2]|0)-df|0;sf=of-nf|0}nf=d[16+rf>>0]|0;of=rf<<nf;rf=sf<<nf;sf=pf-nf|0;c[ba>>2]=rf;c[ca>>2]=sf;c[n>>2]=of;nf=(((of<<7)+-128|0)>>>8)+1|0;if((sf|0)<0){Xd(t);tf=c[ba>>2]|0;uf=c[ca>>2]|0}else{tf=rf;uf=sf}sf=nf<<24;if(tf>>>0<sf>>>0){vf=0;wf=nf;xf=tf}else{vf=2;wf=(c[n>>2]|0)-nf|0;xf=tf-sf|0}sf=d[16+wf>>0]|0;tf=wf<<sf;wf=xf<<sf;xf=uf-sf|0;c[ba>>2]=wf;c[ca>>2]=xf;c[n>>2]=tf;sf=(((tf<<7)+-128|0)>>>8)+1|0;if((xf|0)<0){Xd(t);yf=c[ba>>2]|0;zf=c[ca>>2]|0}else{yf=wf;zf=xf}xf=sf<<24;if(yf>>>0<xf>>>0){Af=0;Bf=sf;Cf=yf}else{Af=1;Bf=(c[n>>2]|0)-sf|0;Cf=yf-xf|0}xf=d[16+Bf>>0]|0;yf=Bf<<xf;Bf=Cf<<xf;Cf=zf-xf|0;c[ba>>2]=Bf;c[ca>>2]=Cf;c[n>>2]=yf;xf=Af|(vf|(qf|lf));lf=(((yf<<7)+-128|0)>>>8)+1|0;if((Cf|0)<0){Xd(t);Df=c[ba>>2]|0;Ef=c[ca>>2]|0}else{Df=Bf;Ef=Cf}Cf=lf<<24;if(Df>>>0<Cf>>>0){Ff=1;Gf=lf;Hf=Df}else{Ff=0;Gf=(c[n>>2]|0)-lf|0;Hf=Df-Cf|0}Cf=d[16+Gf>>0]|0;Df=Gf<<Cf;Gf=Hf<<Cf;Hf=Ef-Cf|0;c[ba>>2]=Gf;c[ca>>2]=Hf;c[n>>2]=Df;ef=Df;ff=Hf;gf=Gf;hf=Ff?xf:0-xf|0}xf=Qe|(hf|0)!=(Nd|0);c[Be>>2]=hf;hf=e+5764|0;Be=c[hf>>2]|0;Nd=(((ef<<7)+-128|0)>>>8)+1|0;if((ff|0)<0){Xd(t);If=c[ba>>2]|0;Jf=c[ca>>2]|0}else{If=gf;Jf=ff}ff=Nd<<24;if(If>>>0<ff>>>0){Kf=1;Lf=Nd;Mf=If}else{Kf=0;Lf=(c[n>>2]|0)-Nd|0;Mf=If-ff|0}ff=d[16+Lf>>0]|0;If=Lf<<ff;Lf=Mf<<ff;Mf=Jf-ff|0;c[ba>>2]=Lf;c[ca>>2]=Mf;c[n>>2]=If;if(Kf)Nf=0;else{Kf=(((If<<7)+-128|0)>>>8)+1|0;if((Mf|0)<0){Xd(t);Of=c[ba>>2]|0;Pf=c[ca>>2]|0}else{Of=Lf;Pf=Mf}Mf=Kf<<24;if(Of>>>0<Mf>>>0){Qf=0;Rf=Kf;Sf=Of}else{Qf=8;Rf=(c[n>>2]|0)-Kf|0;Sf=Of-Mf|0}Mf=d[16+Rf>>0]|0;Of=Rf<<Mf;Rf=Sf<<Mf;Sf=Pf-Mf|0;c[ba>>2]=Rf;c[ca>>2]=Sf;c[n>>2]=Of;Mf=(((Of<<7)+-128|0)>>>8)+1|0;if((Sf|0)<0){Xd(t);Tf=c[ba>>2]|0;Uf=c[ca>>2]|0}else{Tf=Rf;Uf=Sf}Sf=Mf<<24;if(Tf>>>0<Sf>>>0){Vf=0;Wf=Mf;Xf=Tf}else{Vf=4;Wf=(c[n>>2]|0)-Mf|0;Xf=Tf-Sf|0}Sf=d[16+Wf>>0]|0;Tf=Wf<<Sf;Wf=Xf<<Sf;Xf=Uf-Sf|0;c[ba>>2]=Wf;c[ca>>2]=Xf;c[n>>2]=Tf;Sf=(((Tf<<7)+-128|0)>>>8)+1|0;if((Xf|0)<0){Xd(t);Yf=c[ba>>2]|0;Zf=c[ca>>2]|0}else{Yf=Wf;Zf=Xf}Xf=Sf<<24;if(Yf>>>0<Xf>>>0){_f=0;$f=Sf;ag=Yf}else{_f=2;$f=(c[n>>2]|0)-Sf|0;ag=Yf-Xf|0}Xf=d[16+$f>>0]|0;Yf=$f<<Xf;$f=ag<<Xf;ag=Zf-Xf|0;c[ba>>2]=$f;c[ca>>2]=ag;c[n>>2]=Yf;Xf=(((Yf<<7)+-128|0)>>>8)+1|0;if((ag|0)<0){Xd(t);bg=c[ba>>2]|0;cg=c[ca>>2]|0}else{bg=$f;cg=ag}ag=Xf<<24;if(bg>>>0<ag>>>0){dg=0;eg=Xf;fg=bg}else{dg=1;eg=(c[n>>2]|0)-Xf|0;fg=bg-ag|0}ag=d[16+eg>>0]|0;bg=eg<<ag;eg=fg<<ag;fg=cg-ag|0;c[ba>>2]=eg;c[ca>>2]=fg;c[n>>2]=bg;ag=dg|(_f|(Vf|Qf));Qf=(((bg<<7)+-128|0)>>>8)+1|0;if((fg|0)<0){Xd(t);gg=c[ba>>2]|0;hg=c[ca>>2]|0}else{gg=eg;hg=fg}fg=Qf<<24;if(gg>>>0<fg>>>0){ig=1;jg=Qf;kg=gg}else{ig=0;jg=(c[n>>2]|0)-Qf|0;kg=gg-fg|0}fg=d[16+jg>>0]|0;c[ba>>2]=kg<<fg;c[ca>>2]=hg-fg;c[n>>2]=jg<<fg;Nf=ig?ag:0-ag|0}c[hf>>2]=Nf;if(!((Nf|0)==(Be|0)&(xf^1)))_d(e);if(!(a[F>>0]|0))lg=c[lc>>2]|0;else{xf=a[(d[(c[w>>2]|0)+11>>0]|0)+(e+3155)>>0]|0;if((a[e+3151>>0]|0)==1)mg=xf;else mg=(c[lc>>2]|0)+xf|0;lg=(mg|0)>-1?((mg|0)<127?mg:127):0}mg=e+2048|0;b[mg>>1]=1;xf=e+2016|0;b[xf>>1]=b[e+3504+(lg<<2)>>1]|0;Be=e+2080|0;b[Be>>1]=b[e+4016+(lg<<2)>>1]|0;Nf=e+2112|0;b[Nf>>1]=b[e+4528+(lg<<2)>>1]|0;hf=e+3504+(lg<<2)+2|0;ag=e+4016+(lg<<2)+2|0;ig=e+4528+(lg<<2)+2|0;lg=1;do{fg=b[hf>>1]|0;b[e+2016+(lg<<1)>>1]=fg;b[e+2048+(lg<<1)>>1]=fg;b[e+2080+(lg<<1)>>1]=b[ag>>1]|0;b[e+2112+(lg<<1)>>1]=b[ig>>1]|0;lg=lg+1|0}while((lg|0)!=16);lg=c[n>>2]|0;if(!(c[M>>2]|0)){ng=lg;og=c[ca>>2]|0}else{ig=(((lg<<7)+-128|0)>>>8)+1|0;lg=c[ca>>2]|0;if((lg|0)<0){Xd(t);pg=c[ca>>2]|0}else pg=lg;lg=c[ba>>2]|0;ag=ig<<24;if(lg>>>0<ag>>>0){qg=0;rg=ig;sg=lg}else{qg=1;rg=(c[n>>2]|0)-ig|0;sg=lg-ag|0}ag=d[16+rg>>0]|0;lg=rg<<ag;rg=sg<<ag;sg=pg-ag|0;c[ba>>2]=rg;c[ca>>2]=sg;c[n>>2]=lg;ag=e+9152|0;c[ag>>2]=qg;qg=(((lg<<7)+-128|0)>>>8)+1|0;if((sg|0)<0){Xd(t);tg=c[ba>>2]|0;ug=c[ca>>2]|0}else{tg=rg;ug=sg}sg=qg<<24;if(tg>>>0<sg>>>0){vg=0;wg=qg;xg=tg}else{vg=1;wg=(c[n>>2]|0)-qg|0;xg=tg-sg|0}sg=d[16+wg>>0]|0;tg=wg<<sg;wg=xg<<sg;xg=ug-sg|0;c[ba>>2]=wg;c[ca>>2]=xg;c[n>>2]=tg;sg=e+9156|0;c[sg>>2]=vg;ug=e+9160|0;c[ug>>2]=0;if(!(c[ag>>2]|0)){ag=(((tg<<7)+-128|0)>>>8)+1|0;if((xg|0)<0){Xd(t);yg=c[ba>>2]|0;zg=c[ca>>2]|0}else{yg=wg;zg=xg}qg=ag<<24;if(yg>>>0<qg>>>0){Ag=0;Bg=ag;Cg=yg}else{Ag=2;Bg=(c[n>>2]|0)-ag|0;Cg=yg-qg|0}qg=d[16+Bg>>0]|0;yg=Bg<<qg;Bg=Cg<<qg;Cg=zg-qg|0;c[ba>>2]=Bg;c[ca>>2]=Cg;c[n>>2]=yg;qg=(((yg<<7)+-128|0)>>>8)+1|0;if((Cg|0)<0){Xd(t);Dg=c[ba>>2]|0;Eg=c[ca>>2]|0}else{Dg=Bg;Eg=Cg}Cg=qg<<24;if(Dg>>>0<Cg>>>0){Fg=0;Gg=qg;Hg=Dg}else{Fg=1;Gg=(c[n>>2]|0)-qg|0;Hg=Dg-Cg|0}Cg=d[16+Gg>>0]|0;Dg=Gg<<Cg;Gg=Hg<<Cg;Hg=Eg-Cg|0;c[ba>>2]=Gg;c[ca>>2]=Hg;c[n>>2]=Dg;c[ug>>2]=Fg|Ag;Ig=Dg;Jg=Hg;Kg=c[sg>>2]|0;Lg=Gg}else{Ig=tg;Jg=xg;Kg=vg;Lg=wg}wg=e+9164|0;c[wg>>2]=0;if(!Kg){Kg=(((Ig<<7)+-128|0)>>>8)+1|0;if((Jg|0)<0){Xd(t);Mg=c[ba>>2]|0;Ng=c[ca>>2]|0}else{Mg=Lg;Ng=Jg}vg=Kg<<24;if(Mg>>>0<vg>>>0){Og=0;Pg=Kg;Qg=Mg}else{Og=2;Pg=(c[n>>2]|0)-Kg|0;Qg=Mg-vg|0}vg=d[16+Pg>>0]|0;Mg=Pg<<vg;Pg=Qg<<vg;Qg=Ng-vg|0;c[ba>>2]=Pg;c[ca>>2]=Qg;c[n>>2]=Mg;vg=(((Mg<<7)+-128|0)>>>8)+1|0;if((Qg|0)<0){Xd(t);Rg=c[ba>>2]|0;Tg=c[ca>>2]|0}else{Rg=Pg;Tg=Qg}Qg=vg<<24;if(Rg>>>0<Qg>>>0){Ug=0;Vg=vg;Wg=Rg}else{Ug=1;Vg=(c[n>>2]|0)-vg|0;Wg=Rg-Qg|0}Qg=d[16+Vg>>0]|0;Rg=Vg<<Qg;Vg=Wg<<Qg;Wg=Tg-Qg|0;c[ba>>2]=Vg;c[ca>>2]=Wg;c[n>>2]=Rg;c[wg>>2]=Ug|Og;Xg=Rg;Zg=Wg;_g=Vg}else{Xg=Ig;Zg=Jg;_g=Lg}Lg=(((Xg<<7)+-128|0)>>>8)+1|0;if((Zg|0)<0){Xd(t);$g=c[ba>>2]|0;ah=c[ca>>2]|0}else{$g=_g;ah=Zg}Zg=Lg<<24;if($g>>>0<Zg>>>0){bh=0;ch=Lg;dh=$g}else{bh=1;ch=(c[n>>2]|0)-Lg|0;dh=$g-Zg|0}Zg=d[16+ch>>0]|0;$g=ch<<Zg;ch=dh<<Zg;dh=ah-Zg|0;c[ba>>2]=ch;c[ca>>2]=dh;c[n>>2]=$g;c[e+9180>>2]=bh;bh=((($g<<7)+-128|0)>>>8)+1|0;if((dh|0)<0){Xd(t);eh=c[ba>>2]|0;fh=c[ca>>2]|0}else{eh=ch;fh=dh}dh=bh<<24;if(eh>>>0<dh>>>0){gh=0;hh=bh;ih=eh}else{gh=1;hh=(c[n>>2]|0)-bh|0;ih=eh-dh|0}dh=d[16+hh>>0]|0;eh=hh<<dh;hh=fh-dh|0;c[ba>>2]=ih<<dh;c[ca>>2]=hh;c[n>>2]=eh;c[e+9184>>2]=gh;ng=eh;og=hh}hh=(((ng<<7)+-128|0)>>>8)+1|0;if((og|0)<0){Xd(t);jh=c[ca>>2]|0}else jh=og;og=c[ba>>2]|0;ng=hh<<24;if(og>>>0<ng>>>0){kh=0;lh=hh;mh=og}else{kh=1;lh=(c[n>>2]|0)-hh|0;mh=og-ng|0}ng=d[16+lh>>0]|0;og=lh<<ng;lh=mh<<ng;mh=jh-ng|0;c[ba>>2]=lh;c[ca>>2]=mh;c[n>>2]=og;ng=e+9168|0;c[ng>>2]=kh;if(!kh)Yg(e+9201|0,e+10314|0,1113)|0;if(!(c[M>>2]|0))nh=1;else{kh=(((og<<7)+-128|0)>>>8)+1|0;if((mh|0)<0){Xd(t);oh=c[ba>>2]|0;ph=c[ca>>2]|0}else{oh=lh;ph=mh}mh=kh<<24;if(oh>>>0<mh>>>0){qh=0;rh=kh;sh=oh}else{qh=1;rh=(c[n>>2]|0)-kh|0;sh=oh-mh|0}mh=d[16+rh>>0]|0;c[ba>>2]=sh<<mh;c[ca>>2]=ph-mh;c[n>>2]=rh<<mh;nh=qh}c[e+9148>>2]=nh&1;c[z>>2]=1;nh=0;do{qh=0;do{mh=0;do{rh=mh+-1|0;if((mh|0)>0){ph=0;do{sh=e+10333+(nh*264|0)+(qh*33|0)+(mh*11|0)+ph|0;oh=((S((c[n>>2]|0)+-1|0,d[1936+(nh*264|0)+(qh*33|0)+(mh*11|0)+ph>>0]|0)|0)>>>8)+1|0;kh=c[ca>>2]|0;if((kh|0)<0){Xd(t);th=c[ca>>2]|0}else th=kh;kh=c[ba>>2]|0;lh=oh<<24;if(kh>>>0<lh>>>0){uh=1;vh=oh;wh=kh}else{uh=0;vh=(c[n>>2]|0)-oh|0;wh=kh-lh|0}lh=d[16+vh>>0]|0;kh=vh<<lh;oh=wh<<lh;og=th-lh|0;c[ba>>2]=oh;c[ca>>2]=og;c[n>>2]=kh;if(uh)xh=a[sh>>0]|0;else{lh=kh;kh=og;og=oh;oh=8;jh=0;do{hh=oh;oh=oh+-1|0;eh=(((lh<<7)+-128|0)>>>8)+1|0;if((kh|0)<0){Xd(t);yh=c[ba>>2]|0;zh=c[ca>>2]|0}else{yh=og;zh=kh}gh=eh<<24;if(yh>>>0<gh>>>0){Ah=0;Bh=eh;Ch=yh}else{Ah=1;Bh=(c[n>>2]|0)-eh|0;Ch=yh-gh|0}gh=d[16+Bh>>0]|0;lh=Bh<<gh;og=Ch<<gh;kh=zh-gh|0;c[ba>>2]=og;c[ca>>2]=kh;c[n>>2]=lh;jh=Ah<<oh|jh}while((hh|0)>1);oh=jh&255;a[sh>>0]=oh;xh=oh}if(xh<<24>>24!=(a[e+10333+(nh*264|0)+(qh*33|0)+(rh*11|0)+ph>>0]|0))c[z>>2]=0;ph=ph+1|0}while((ph|0)!=11)}else{ph=0;do{rh=e+10333+(nh*264|0)+(qh*33|0)+(mh*11|0)+ph|0;oh=((S((c[n>>2]|0)+-1|0,d[1936+(nh*264|0)+(qh*33|0)+(mh*11|0)+ph>>0]|0)|0)>>>8)+1|0;lh=c[ca>>2]|0;if((lh|0)<0){Xd(t);Dh=c[ca>>2]|0}else Dh=lh;lh=c[ba>>2]|0;kh=oh<<24;if(lh>>>0<kh>>>0){Eh=1;Fh=oh;Gh=lh}else{Eh=0;Fh=(c[n>>2]|0)-oh|0;Gh=lh-kh|0}kh=d[16+Fh>>0]|0;lh=Fh<<kh;oh=Gh<<kh;og=Dh-kh|0;c[ba>>2]=oh;c[ca>>2]=og;c[n>>2]=lh;if(!Eh){kh=lh;lh=og;og=oh;oh=8;sb=0;do{hh=oh;oh=oh+-1|0;gh=(((kh<<7)+-128|0)>>>8)+1|0;if((lh|0)<0){Xd(t);Hh=c[ba>>2]|0;Ih=c[ca>>2]|0}else{Hh=og;Ih=lh}eh=gh<<24;if(Hh>>>0<eh>>>0){Jh=0;Kh=gh;Lh=Hh}else{Jh=1;Kh=(c[n>>2]|0)-gh|0;Lh=Hh-eh|0}eh=d[16+Kh>>0]|0;kh=Kh<<eh;og=Lh<<eh;lh=Ih-eh|0;c[ba>>2]=og;c[ca>>2]=lh;c[n>>2]=kh;sb=Jh<<oh|sb}while((hh|0)>1);a[rh>>0]=sb}ph=ph+1|0}while((ph|0)!=11)}mh=mh+1|0}while((mh|0)!=3);qh=qh+1|0}while((qh|0)!=8);nh=nh+1|0}while((nh|0)!=4);nh=e+384|0;Sg(nh|0,0,800)|0;Yd(e);Jh=e+9188|0;n=e+5720|0;Sg(c[Jh>>2]|0,0,(c[n>>2]|0)*9|0)|0;c[e+11984>>2]=0;ba=c[G>>2]|0;do if(!(c[e+11812>>2]|0)){Mh=ba;Q=372}else{if(!ba){Mh=0;Q=372;break}ue(e,e);Yb(C);G=c[wc>>2]|0;if(!G){Nh=0;break}Ih=c[e+11916>>2]|0;Lh=0;Kh=0;while(1){Hh=c[Ih+(Kh*3232|0)+3220>>2]|Lh;Kh=Kh+1|0;if(Kh>>>0>=G>>>0){Nh=Hh;break}else Lh=Hh}}while(0);if((Q|0)==372){wc=c[w>>2]|0;C=c[B>>2]|0;B=C+16|0;ba=c[B>>2]|0;Lh=C+36|0;G=c[Lh>>2]|0;c[s>>2]=0;Kh=c[e+3236>>2]|0;c[r+12>>2]=c[Kh+52>>2];c[r+16>>2]=c[Kh+56>>2];c[r+20>>2]=c[Kh+60>>2];c[s+4>>2]=c[Kh+112>>2];Kh=c[e+3240>>2]|0;c[r+24>>2]=c[Kh+52>>2];c[r+28>>2]=c[Kh+56>>2];c[r+32>>2]=c[Kh+60>>2];c[s+8>>2]=c[Kh+112>>2];Kh=c[e+3244>>2]|0;c[r+36>>2]=c[Kh+52>>2];c[r+40>>2]=c[Kh+56>>2];c[r+44>>2]=c[Kh+60>>2];c[s+12>>2]=c[Kh+112>>2];Kh=1<<Mh;Mh=C+52|0;Ih=c[Mh>>2]|0;Hh=C+56|0;t=c[Hh>>2]|0;Eh=C+60|0;Dh=c[Eh>>2]|0;Gh=e+3100|0;c[Gh>>2]=0;Fh=c[Xa>>2]|0;if(Fh|0)ad(u,e,Fh);Hd(C);if((c[mc>>2]|0)>0){Fh=(Kh|0)>1;xh=ba<<4;Ah=G<<3;zh=e+3140|0;Ch=e+3104|0;Bh=e+3192|0;yh=e+3196|0;uh=e+3108|0;th=e+3112|0;wh=e+3116|0;vh=e+3120|0;qh=e+3124|0;ec=e+3128|0;mh=e+2984|0;fc=e+3004|0;ph=e+3132|0;oh=e+3136|0;kh=e+3020|0;lh=e+3024|0;og=e+3028|0;sh=e+3184|0;jh=e+3188|0;hh=e+2900|0;eh=e+2904|0;gh=e+2908|0;dh=e+1984|0;ih=e+896|0;fh=e+2e3|0;bh=e+2816|0;ch=e+2008|0;$g=e+2820|0;Zg=e+3151|0;ah=Ih;Lg=t;_g=Dh;Xg=0;Jg=Ih;Ig=Dh;Vg=t;Wg=wc;Rg=0;while(1){Og=Xg+1|0;if(Fh){c[vc>>2]=e+11456+(Xg*28|0);Oh=(Og|0)==(Kh|0)?0:Og}else Oh=Xg;Og=S(Rg,xh)|0;Ug=S(Rg,Ah)|0;c[zh>>2]=c[Jh>>2];N=c[L>>2]|0;P=N+9|0;do{a[N>>0]=0;N=N+1|0}while((N|0)<(P|0));c[Ch>>2]=0;c[Bh>>2]=0-(Rg<<7);c[yh>>2]=33554431-Rg+(c[mc>>2]|0)<<7;wg=Ih+Og|0;Qg=t+Ug|0;Tg=Dh+Ug|0;vg=wg+-1|0;c[vh>>2]=vg;Pg=Qg+-1|0;c[qh>>2]=Pg;Mg=Tg+-1|0;c[ec>>2]=Mg;Ng=c[mh>>2]|0;c[uh>>2]=wg+(0-Ng);wg=c[fc>>2]|0;Kg=0-wg|0;c[th>>2]=Qg+Kg;c[wh>>2]=Tg+Kg;c[ph>>2]=Ng;c[oh>>2]=wg;a[vg>>0]=-127;a[vg+Ng>>0]=-127;a[vg+(Ng<<1)>>0]=-127;a[vg+(Ng*3|0)>>0]=-127;a[vg+(Ng<<2)>>0]=-127;a[vg+(Ng*5|0)>>0]=-127;a[vg+(Ng*6|0)>>0]=-127;a[vg+(Ng*7|0)>>0]=-127;a[vg+(Ng<<3)>>0]=-127;a[vg+(Ng*9|0)>>0]=-127;a[vg+(Ng*10|0)>>0]=-127;a[vg+(Ng*11|0)>>0]=-127;a[vg+(Ng*12|0)>>0]=-127;a[vg+(Ng*13|0)>>0]=-127;a[vg+(Ng*14|0)>>0]=-127;a[vg+(Ng*15|0)>>0]=-127;a[Pg>>0]=-127;a[Pg+wg>>0]=-127;Ng=wg<<1;a[Pg+Ng>>0]=-127;vg=wg*3|0;a[Pg+vg>>0]=-127;Kg=wg<<2;a[Pg+Kg>>0]=-127;Tg=wg*5|0;a[Pg+Tg>>0]=-127;Qg=wg*6|0;a[Pg+Qg>>0]=-127;xg=wg*7|0;a[Pg+xg>>0]=-127;a[Mg>>0]=-127;a[Mg+wg>>0]=-127;a[Mg+Ng>>0]=-127;a[Mg+vg>>0]=-127;a[Mg+Kg>>0]=-127;a[Mg+Tg>>0]=-127;a[Mg+Qg>>0]=-127;a[Mg+xg>>0]=-127;xg=c[n>>2]|0;if((xg|0)>0){Mg=xg;xg=c[w>>2]|0;Qg=0;Tg=Ug;Kg=Og;while(1){c[sh>>2]=0-(Qg<<7);c[jh>>2]=Mg+33554431-Qg<<7;c[kh>>2]=Ih+Kg;c[lh>>2]=t+Tg;c[og>>2]=Dh+Tg;vg=a[xg+2>>0]|0;Ng=vg&255;if(!(vg<<24>>24)){c[hh>>2]=0;c[eh>>2]=0;Ph=0}else{c[hh>>2]=(c[r+(Ng*12|0)>>2]|0)+Kg;c[eh>>2]=(c[r+(Ng*12|0)+4>>2]|0)+Tg;Ph=(c[r+(Ng*12|0)+8>>2]|0)+Tg|0}c[gh>>2]=Ph;c[D>>2]=c[D>>2]|c[s+(Ng<<2)>>2];do if(!(a[xg+9>>0]|0)){if(((c[(c[vc>>2]|0)+12>>2]|0)+-33|0)>>>0<1073741791){Qh=xg;break}Ng=(de(e,e)|0)==0&1;vg=c[w>>2]|0;a[vg+9>>0]=Ng;Qh=vg}else{ce(e);Qh=c[w>>2]|0}while(0);vg=a[Qh>>0]|0;if(!(a[F>>0]|0))Rh=Qh;else{Ng=a[(d[Qh+11>>0]|0)+(e+3155)>>0]|0;if((a[Zg>>0]|0)==1)Sh=Ng;else Sh=(c[lc>>2]|0)+Ng|0;Ng=(Sh|0)>-1?((Sh|0)<127?Sh:127):0;b[mg>>1]=1;b[xf>>1]=b[e+3504+(Ng<<2)>>1]|0;b[Be>>1]=b[e+4016+(Ng<<2)>>1]|0;b[Nf>>1]=b[e+4528+(Ng<<2)>>1]|0;wg=e+3504+(Ng<<2)+2|0;Pg=e+4016+(Ng<<2)+2|0;tg=e+4528+(Ng<<2)+2|0;Ng=1;do{Gg=b[wg>>1]|0;b[e+2016+(Ng<<1)>>1]=Gg;b[e+2048+(Ng<<1)>>1]=Gg;b[e+2080+(Ng<<1)>>1]=b[Pg>>1]|0;b[e+2112+(Ng<<1)>>1]=b[tg>>1]|0;Ng=Ng+1|0}while((Ng|0)!=16);Rh=c[w>>2]|0}c:do if(!(a[Rh+2>>0]|0)){Cd(e,c[th>>2]|0,c[wh>>2]|0,c[qh>>2]|0,c[ec>>2]|0,c[oh>>2]|0,c[lh>>2]|0,c[og>>2]|0,c[fc>>2]|0);Ng=c[uh>>2]|0;if(vg<<24>>24!=4){Bd(e,Ng,c[vh>>2]|0,c[ph>>2]|0,c[kh>>2]|0,c[mh>>2]|0);break}tg=c[mh>>2]|0;Pg=c[w>>2]|0;if(a[Pg+9>>0]|0){c[dh>>2]=0;c[dh+4>>2]=0;c[dh+8>>2]=0;c[dh+12>>2]=0;c[dh+16>>2]=0;c[dh+20>>2]=0;a[dh+24>>0]=0}wg=Ng+16|0;Ng=c[kh>>2]|0;Gg=0-tg|0;sg=Ng+Gg+16|0;c[sg+(tg<<2)>>2]=c[wg>>2];c[sg+(tg<<3)>>2]=c[wg>>2];c[sg+(tg*12|0)>>2]=c[wg>>2];wg=Ng;Ng=Pg;Pg=0;while(1){sg=wg+(c[e+2144+(Pg*28|0)+16>>2]|0)|0;Hg=sg+Gg|0;Gd(Hg,sg+-1|0,tg,c[Ng+12+(Pg<<2)>>2]|0,sg,tg,a[Hg+-1>>0]|0);Hg=a[e+1984+Pg>>0]|0;do if(Hg<<24>>24){Dg=e+2144+(Pg*28|0)|0;Ag=c[Dg>>2]|0;if(Hg<<24>>24>1){Fc(Ag,xf,sg,tg);break}else{Wc((S(b[xf>>1]|0,b[Ag>>1]|0)|0)&65535,sg,tg,sg,tg);Ag=c[Dg>>2]|0;b[Ag>>1]=0;b[Ag+2>>1]=0>>>16;break}}while(0);sg=Pg+1|0;if((sg|0)==16)break c;wg=c[kh>>2]|0;Ng=c[w>>2]|0;Pg=sg}}else zd(e);while(0);Pg=c[w>>2]|0;if(!(a[Pg+9>>0]|0)){d:do switch(vg<<24>>24){case 4:break;case 9:{Th=xf;Q=411;break}default:if((a[ch>>0]|0)>1){Ec(bh,Be);Xc(c[$g>>2]|0,nh);N=c[bh>>2]|0;P=N+32|0;do{b[N>>1]=0;N=N+2|0}while((N|0)<(P|0));Th=mg;Q=411;break d}else{Ng=(S(b[Be>>1]|0,b[c[bh>>2]>>1]|0)|0)&65535;wg=c[$g>>2]|0;b[wg>>1]=Ng;Yc(wg,nh);wg=c[bh>>2]|0;b[wg>>1]=0;b[wg+2>>1]=0>>>16;Th=mg;Q=411;break d}}while(0);if((Q|0)==411){Q=0;Tc(nh,Th,c[kh>>2]|0,c[mh>>2]|0,dh)}Uc(ih,Nf,c[lh>>2]|0,c[og>>2]|0,c[fc>>2]|0,fh);Uh=c[w>>2]|0}else Uh=Pg;c[Ch>>2]=1;c[D>>2]=((c[(c[vc>>2]|0)+12>>2]|0)+-33|0)>>>0<1073741791|c[D>>2];c[uh>>2]=(c[uh>>2]|0)+16;c[th>>2]=(c[th>>2]|0)+8;c[wh>>2]=(c[wh>>2]|0)+8;c[vh>>2]=(c[vh>>2]|0)+16;c[qh>>2]=(c[qh>>2]|0)+8;c[ec>>2]=(c[ec>>2]|0)+8;xg=Uh+76|0;c[w>>2]=xg;c[zh>>2]=(c[zh>>2]|0)+9;Qg=Qg+1|0;Mg=c[n>>2]|0;if((Qg|0)>=(Mg|0))break;else{Tg=Tg+8|0;Kg=Kg+16|0}}}Jc(C,(c[kh>>2]|0)+16|0,(c[lh>>2]|0)+8|0,(c[og>>2]|0)+8|0);c[w>>2]=(c[w>>2]|0)+76;c[Gh>>2]=1;Kg=(Rg|0)>0;do if(!(c[Xa>>2]|0)){if(!Kg){Vh=ah;Wh=Lg;Xh=_g;Yh=Jg;Zh=Ig;_h=Vg;$h=Wg;break}be(C,ah,Lg,_g);Vh=ah+xh|0;Wh=Lg+Ah|0;Xh=_g+Ah|0;Yh=Jg;Zh=Ig;_h=Vg;$h=Wg}else{if(!Kg){Vh=ah;Wh=Lg;Xh=_g;Yh=Jg;Zh=Ig;_h=Vg;$h=Wg;break}Tg=Rg+-1|0;if(!(c[Ra>>2]|0))bd(u,Wg,Tg,ba,G,Jg,Vg,Ig);else cd(u,Wg,Tg,ba,G,Jg,Vg,Ig);if((Rg|0)>1){be(C,ah,Lg,_g);ai=ah+xh|0;bi=Lg+Ah|0;ci=_g+Ah|0}else{ai=ah;bi=Lg;ci=_g}Vh=ai;Wh=bi;Xh=ci;Yh=Jg+xh|0;Zh=Ig+Ah|0;_h=Vg+Ah|0;$h=Wg+((c[n>>2]|0)*76|0)+76|0}while(0);Kg=Rg+1|0;if((Kg|0)<(c[mc>>2]|0)){ah=Vh;Lg=Wh;_g=Xh;Xg=Oh;Jg=Yh;Ig=Zh;Vg=_h;Wg=$h;Rg=Kg}else{di=Vh;ei=Wh;fi=Xh;gi=Yh;hi=Zh;ii=_h;ji=$h;ki=Rg;break}}}else{di=Ih;ei=t;fi=Dh;gi=Ih;hi=Dh;ii=t;ji=wc;ki=-1}if(!(c[Xa>>2]|0)){li=di;mi=ei;ni=fi}else{if(!(c[Ra>>2]|0))bd(u,ji,ki,ba,G,gi,ii,hi);else cd(u,ji,ki,ba,G,gi,ii,hi);be(C,di,ei,fi);hi=G<<3;li=di+(ba<<4)|0;mi=ei+hi|0;ni=fi+hi|0}be(C,li,mi,ni);ni=C+76|0;mi=c[ni>>2]|0;li=c[B>>2]|0;hi=0-mi|0;fi=(c[Mh>>2]|0)+hi|0;if((mi|0)>0){ei=fi+(S(li,hi)|0)|0;hi=0;while(1){Yg(ei|0,fi|0,li|0)|0;hi=hi+1|0;if((hi|0)==(mi|0))break;else ei=ei+li|0}}li=c[Lh>>2]|0;ei=mi>>>1;mi=0-ei|0;hi=(c[Hh>>2]|0)+mi|0;fi=S(li,mi)|0;if(ei|0){ba=hi+fi|0;di=0;while(1){Yg(ba|0,hi|0,li|0)|0;di=di+1|0;if((di|0)==(ei|0))break;else ba=ba+li|0}ba=(c[Eh>>2]|0)+mi|0;mi=ba+fi|0;fi=0;while(1){Yg(mi|0,ba|0,li|0)|0;fi=fi+1|0;if((fi|0)==(ei|0))break;else mi=mi+li|0}}li=c[ni>>2]|0;ni=c[B>>2]|0;B=(c[Mh>>2]|0)+(0-li)+(S(c[C+4>>2]|0,ni)|0)+(0-ni)|0;if((li|0)>0){Mh=B;mi=0;do{Mh=Mh+ni|0;Yg(Mh|0,B|0,ni|0)|0;mi=mi+1|0}while((mi|0)!=(li|0))}mi=c[Lh>>2]|0;Lh=li>>>1;li=0-Lh|0;ni=S(c[C+24>>2]|0,mi)|0;C=0-mi|0;B=(c[Hh>>2]|0)+li+ni+C|0;if(Lh|0){Hh=B;Mh=0;do{Hh=Hh+mi|0;Yg(Hh|0,B|0,mi|0)|0;Mh=Mh+1|0}while((Mh|0)!=(Lh|0));Mh=(c[Eh>>2]|0)+li+ni+C|0;C=Mh;ni=0;do{C=C+mi|0;Yg(C|0,Mh|0,mi|0)|0;ni=ni+1|0}while((ni|0)!=(Lh|0))}Nh=c[D>>2]|0}D=((c[ca>>2]|0)+-33|0)>>>0<1073741791|Nh;c[E>>2]=D;do if(!(c[J>>2]|0))if(!(c[M>>2]|D)){c[J>>2]=1;break}else{Qb(u,7,5610,g);break}while(0);if(c[ng>>2]|0){R=0;l=f;return R|0}Yg(e+10314|0,e+9201|0,1113)|0;c[z>>2]=A;R=0;l=f;return R|0}function be(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=c[b+76>>2]|0;h=c[b+16>>2]|0;i=d+(c[b>>2]|0)+-1|0;j=d+(0-g)|0;k=i+1|0;Sg(j|0,a[d>>0]|0,g|0)|0;Sg(k|0,a[i>>0]|0,g|0)|0;l=d+h|0;d=i+h|0;i=j+h|0;j=k+h|0;Sg(i|0,a[l>>0]|0,g|0)|0;Sg(j|0,a[d>>0]|0,g|0)|0;k=l+h|0;l=d+h|0;d=i+h|0;i=j+h|0;Sg(d|0,a[k>>0]|0,g|0)|0;Sg(i|0,a[l>>0]|0,g|0)|0;j=k+h|0;k=l+h|0;l=d+h|0;d=i+h|0;Sg(l|0,a[j>>0]|0,g|0)|0;Sg(d|0,a[k>>0]|0,g|0)|0;i=j+h|0;j=k+h|0;k=l+h|0;l=d+h|0;Sg(k|0,a[i>>0]|0,g|0)|0;Sg(l|0,a[j>>0]|0,g|0)|0;d=i+h|0;i=j+h|0;j=k+h|0;k=l+h|0;Sg(j|0,a[d>>0]|0,g|0)|0;Sg(k|0,a[i>>0]|0,g|0)|0;l=d+h|0;d=i+h|0;i=j+h|0;j=k+h|0;Sg(i|0,a[l>>0]|0,g|0)|0;Sg(j|0,a[d>>0]|0,g|0)|0;k=l+h|0;l=d+h|0;d=i+h|0;i=j+h|0;Sg(d|0,a[k>>0]|0,g|0)|0;Sg(i|0,a[l>>0]|0,g|0)|0;j=k+h|0;k=l+h|0;l=d+h|0;d=i+h|0;Sg(l|0,a[j>>0]|0,g|0)|0;Sg(d|0,a[k>>0]|0,g|0)|0;i=j+h|0;j=k+h|0;k=l+h|0;l=d+h|0;Sg(k|0,a[i>>0]|0,g|0)|0;Sg(l|0,a[j>>0]|0,g|0)|0;d=i+h|0;i=j+h|0;j=k+h|0;k=l+h|0;Sg(j|0,a[d>>0]|0,g|0)|0;Sg(k|0,a[i>>0]|0,g|0)|0;l=d+h|0;d=i+h|0;i=j+h|0;j=k+h|0;Sg(i|0,a[l>>0]|0,g|0)|0;Sg(j|0,a[d>>0]|0,g|0)|0;k=l+h|0;l=d+h|0;d=i+h|0;i=j+h|0;Sg(d|0,a[k>>0]|0,g|0)|0;Sg(i|0,a[l>>0]|0,g|0)|0;j=k+h|0;k=l+h|0;l=d+h|0;d=i+h|0;Sg(l|0,a[j>>0]|0,g|0)|0;Sg(d|0,a[k>>0]|0,g|0)|0;i=j+h|0;j=k+h|0;k=l+h|0;l=d+h|0;Sg(k|0,a[i>>0]|0,g|0)|0;Sg(l|0,a[j>>0]|0,g|0)|0;Sg(k+h|0,a[i+h>>0]|0,g|0)|0;Sg(l+h|0,a[j+h>>0]|0,g|0)|0;h=c[b+36>>2]|0;j=c[b+20>>2]|0;b=g>>>1;g=e+j+-1|0;l=0-b|0;i=e+l|0;k=g+1|0;Sg(i|0,a[e>>0]|0,b|0)|0;Sg(k|0,a[g>>0]|0,b|0)|0;d=e+h|0;e=g+h|0;g=i+h|0;i=k+h|0;Sg(g|0,a[d>>0]|0,b|0)|0;Sg(i|0,a[e>>0]|0,b|0)|0;k=d+h|0;d=e+h|0;e=g+h|0;g=i+h|0;Sg(e|0,a[k>>0]|0,b|0)|0;Sg(g|0,a[d>>0]|0,b|0)|0;i=k+h|0;k=d+h|0;d=e+h|0;e=g+h|0;Sg(d|0,a[i>>0]|0,b|0)|0;Sg(e|0,a[k>>0]|0,b|0)|0;g=i+h|0;i=k+h|0;k=d+h|0;d=e+h|0;Sg(k|0,a[g>>0]|0,b|0)|0;Sg(d|0,a[i>>0]|0,b|0)|0;e=g+h|0;g=i+h|0;i=k+h|0;k=d+h|0;Sg(i|0,a[e>>0]|0,b|0)|0;Sg(k|0,a[g>>0]|0,b|0)|0;d=e+h|0;e=g+h|0;g=i+h|0;i=k+h|0;Sg(g|0,a[d>>0]|0,b|0)|0;Sg(i|0,a[e>>0]|0,b|0)|0;Sg(g+h|0,a[d+h>>0]|0,b|0)|0;Sg(i+h|0,a[e+h>>0]|0,b|0)|0;e=f+j+-1|0;j=f+l|0;l=e+1|0;Sg(j|0,a[f>>0]|0,b|0)|0;Sg(l|0,a[e>>0]|0,b|0)|0;i=f+h|0;f=e+h|0;e=j+h|0;j=l+h|0;Sg(e|0,a[i>>0]|0,b|0)|0;Sg(j|0,a[f>>0]|0,b|0)|0;l=i+h|0;i=f+h|0;f=e+h|0;e=j+h|0;Sg(f|0,a[l>>0]|0,b|0)|0;Sg(e|0,a[i>>0]|0,b|0)|0;j=l+h|0;l=i+h|0;i=f+h|0;f=e+h|0;Sg(i|0,a[j>>0]|0,b|0)|0;Sg(f|0,a[l>>0]|0,b|0)|0;e=j+h|0;j=l+h|0;l=i+h|0;i=f+h|0;Sg(l|0,a[e>>0]|0,b|0)|0;Sg(i|0,a[j>>0]|0,b|0)|0;f=e+h|0;e=j+h|0;j=l+h|0;l=i+h|0;Sg(j|0,a[f>>0]|0,b|0)|0;Sg(l|0,a[e>>0]|0,b|0)|0;i=f+h|0;f=e+h|0;e=j+h|0;j=l+h|0;Sg(e|0,a[i>>0]|0,b|0)|0;Sg(j|0,a[f>>0]|0,b|0)|0;Sg(e+h|0,a[i+h>>0]|0,b|0)|0;Sg(j+h|0,a[f+h>>0]|0,b|0)|0;return}function ce(b){b=b|0;var d=0,e=0,f=0,g=0;d=c[b+3140>>2]|0;e=c[b+3144>>2]|0;f=d;g=f;a[g>>0]=0;a[g+1>>0]=0;a[g+2>>0]=0;a[g+3>>0]=0;g=f+4|0;a[g>>0]=0;a[g+1>>0]=0;a[g+2>>0]=0;a[g+3>>0]=0;g=e;f=g;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;f=g+4|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;if(a[(c[b+3088>>2]|0)+3>>0]|0)return;a[e+8>>0]=0;a[d+8>>0]=0;return}function de(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=c[d+3216>>2]|0;f=c[d+3140>>2]|0;g=c[d+3144>>2]|0;if(!(a[(c[d+3088>>2]|0)+3>>0]|0)){h=f+8|0;i=g+8|0;j=ee(e,b+10597|0,(a[i>>0]|0)+(a[h>>0]|0)|0,0,d+1152|0)|0;k=(j|0)>0&1;a[i>>0]=k;a[h>>0]=k;a[d+2008>>0]=j;l=0;m=j+-16|0;n=1}else{l=3;m=0;n=0}j=b+10333+(l*264|0)|0;l=m;m=0;k=d+384|0;while(1){h=f+(m&3)|0;i=g+(m>>>2&3)|0;o=ee(e,j,(a[i>>0]|0)+(a[h>>0]|0)|0,n,k)|0;p=(o|0)>0&1;a[i>>0]=p;a[h>>0]=p;p=o+n|0;a[d+1984+m>>0]=p;l=p+l|0;m=m+1|0;if((m|0)==16)break;else k=k+32|0}k=b+10861|0;b=f+4|0;f=g+4|0;g=l;l=16;m=d+896|0;while(1){n=((l|0)>19&1)<<1;j=b+n+(l&1)|0;p=f+n+((l&2)>>>0>1&1)|0;n=ee(e,k,(a[p>>0]|0)+(a[j>>0]|0)|0,0,m)|0;o=(n|0)>0&1;a[p>>0]=o;a[j>>0]=o;a[d+1984+l>>0]=n;g=n+g|0;l=l+1|0;if((l|0)==24)break;else m=m+32|0}return g|0}function ee(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0;j=f+(h*33|0)+(g*11|0)|0;g=e+16|0;k=((S((c[g>>2]|0)+-1|0,d[j>>0]|0)|0)>>>8)+1|0;l=e+12|0;m=c[l>>2]|0;if((m|0)<0){Xd(e);n=c[l>>2]|0}else n=m;m=e+8|0;o=c[m>>2]|0;p=k<<24;if(o>>>0<p>>>0){q=1;r=k;s=o}else{q=0;r=(c[g>>2]|0)-k|0;s=o-p|0}p=d[16+r>>0]|0;o=r<<p;r=s<<p;s=n-p|0;c[m>>2]=r;c[l>>2]=s;c[g>>2]=o;if(q){t=0;return t|0}else{u=o;v=s;w=r;x=h;y=j}while(1){j=x+1|0;h=((S(u+-1|0,d[y+1>>0]|0)|0)>>>8)+1|0;if((v|0)<0){Xd(e);z=c[m>>2]|0;A=c[l>>2]|0}else{z=w;A=v}r=h<<24;if(z>>>0<r>>>0){B=1;C=h;D=z}else{B=0;C=(c[g>>2]|0)-h|0;D=z-r|0}r=d[16+C>>0]|0;h=C<<r;s=D<<r;o=A-r|0;c[m>>2]=s;c[l>>2]=o;c[g>>2]=h;if(B)if((j|0)==16){t=16;E=82;break}else{u=h;v=o;w=s;x=j;y=f+((d[5656+j>>0]|0)*33|0)|0;continue}r=((S(d[y+2>>0]|0,h+-1|0)|0)>>>8)+1|0;if((o|0)<0){Xd(e);F=c[m>>2]|0;G=c[l>>2]|0}else{F=s;G=o}o=r<<24;if(F>>>0<o>>>0){H=1;I=r;J=F}else{H=0;I=(c[g>>2]|0)-r|0;J=F-o|0}o=d[16+I>>0]|0;r=I<<o;s=J<<o;h=G-o|0;c[m>>2]=s;c[l>>2]=h;c[g>>2]=r;do if(H){K=1;L=r;M=h;N=s;O=1}else{o=((S(d[y+3>>0]|0,r+-1|0)|0)>>>8)+1|0;if((h|0)<0){Xd(e);P=c[m>>2]|0;Q=c[l>>2]|0}else{P=s;Q=h}q=o<<24;if(P>>>0<q>>>0){R=1;T=o;U=P}else{R=0;T=(c[g>>2]|0)-o|0;U=P-q|0}q=d[16+T>>0]|0;o=T<<q;p=U<<q;n=Q-q|0;c[m>>2]=p;c[l>>2]=n;c[g>>2]=o;if(R){q=((S(d[y+4>>0]|0,o+-1|0)|0)>>>8)+1|0;if((n|0)<0){Xd(e);V=c[m>>2]|0;W=c[l>>2]|0}else{V=p;W=n}k=q<<24;if(V>>>0<k>>>0){X=1;Y=q;Z=V}else{X=0;Y=(c[g>>2]|0)-q|0;Z=V-k|0}k=d[16+Y>>0]|0;q=Y<<k;_=Z<<k;$=W-k|0;c[m>>2]=_;c[l>>2]=$;c[g>>2]=q;if(X){K=2;L=q;M=$;N=_;O=2;break}k=((S(d[y+5>>0]|0,q+-1|0)|0)>>>8)+1|0;if(($|0)<0){Xd(e);aa=c[m>>2]|0;ba=c[l>>2]|0}else{aa=_;ba=$}$=k<<24;if(aa>>>0<$>>>0){ca=3;da=k;ea=aa}else{ca=4;da=(c[g>>2]|0)-k|0;ea=aa-$|0}$=d[16+da>>0]|0;k=da<<$;_=ea<<$;q=ba-$|0;c[m>>2]=_;c[l>>2]=q;c[g>>2]=k;K=2;L=k;M=q;N=_;O=ca;break}_=((S(d[y+6>>0]|0,o+-1|0)|0)>>>8)+1|0;if((n|0)<0){Xd(e);fa=c[m>>2]|0;ga=c[l>>2]|0}else{fa=p;ga=n}n=_<<24;if(fa>>>0<n>>>0){ha=1;ia=_;ja=fa}else{ha=0;ia=(c[g>>2]|0)-_|0;ja=fa-n|0}n=d[16+ia>>0]|0;_=ia<<n;p=ja<<n;o=ga-n|0;c[m>>2]=p;c[l>>2]=o;c[g>>2]=_;if(!ha){n=((S(d[y+8>>0]|0,_+-1|0)|0)>>>8)+1|0;if((o|0)<0){Xd(e);ka=c[m>>2]|0;la=c[l>>2]|0}else{ka=p;la=o}q=n<<24;if(ka>>>0<q>>>0){ma=0;na=n;oa=ka}else{ma=1;na=(c[g>>2]|0)-n|0;oa=ka-q|0}q=d[16+na>>0]|0;n=na<<q;k=oa<<q;$=la-q|0;c[m>>2]=k;c[l>>2]=$;c[g>>2]=n;q=((S(d[y+(ma+9)>>0]|0,n+-1|0)|0)>>>8)+1|0;if(($|0)<0){Xd(e);pa=c[m>>2]|0;qa=c[l>>2]|0}else{pa=k;qa=$}$=q<<24;if(pa>>>0<$>>>0){ra=0;sa=q;ta=pa}else{ra=1;sa=(c[g>>2]|0)-q|0;ta=pa-$|0}$=d[16+sa>>0]|0;q=sa<<$;k=ta<<$;n=qa-$|0;c[m>>2]=k;c[l>>2]=n;c[g>>2]=q;$=ra|ma<<1;ua=c[1668+($<<2)>>2]|0;va=a[ua>>0]|0;if(!(va<<24>>24)){wa=k;xa=n;ya=q;za=0}else{Aa=va;va=q;q=n;n=k;k=ua;ua=0;while(1){Ba=((S(va+-1|0,Aa&255)|0)>>>8)+1|0;if((q|0)<0){Xd(e);Ca=c[m>>2]|0;Da=c[l>>2]|0}else{Ca=n;Da=q}Ea=Ba<<24;if(Ca>>>0<Ea>>>0){Fa=0;Ga=Ba;Ha=Ca}else{Fa=1;Ga=(c[g>>2]|0)-Ba|0;Ha=Ca-Ea|0}Ea=d[16+Ga>>0]|0;Ba=Ga<<Ea;Ia=Ha<<Ea;Ja=Da-Ea|0;c[m>>2]=Ia;c[l>>2]=Ja;c[g>>2]=Ba;Ea=Fa|ua<<1;k=k+1|0;Aa=a[k>>0]|0;if(!(Aa<<24>>24)){wa=Ia;xa=Ja;ya=Ba;za=Ea;break}else{va=Ba;q=Ja;n=Ia;ua=Ea}}}K=2;L=ya;M=xa;N=wa;O=za+(8<<$|3)|0;break}ua=((S(d[y+7>>0]|0,_+-1|0)|0)>>>8)+1|0;if((o|0)<0){Xd(e);Ka=c[m>>2]|0;La=c[l>>2]|0}else{Ka=p;La=o}n=ua<<24;if(Ka>>>0<n>>>0){Ma=1;Na=ua;Oa=Ka}else{Ma=0;Na=(c[g>>2]|0)-ua|0;Oa=Ka-n|0}n=d[16+Na>>0]|0;ua=Na<<n;q=Oa<<n;va=La-n|0;c[m>>2]=q;c[l>>2]=va;c[g>>2]=ua;n=ua+-1|0;if(Ma){ua=((n*159|0)>>>8)+1|0;if((va|0)<0){Xd(e);Pa=c[m>>2]|0;Qa=c[l>>2]|0}else{Pa=q;Qa=va}Aa=ua<<24;if(Pa>>>0<Aa>>>0){Ra=5;Sa=ua;Ta=Pa}else{Ra=6;Sa=(c[g>>2]|0)-ua|0;Ta=Pa-Aa|0}Aa=d[16+Sa>>0]|0;ua=Sa<<Aa;k=Ta<<Aa;Ea=Qa-Aa|0;c[m>>2]=k;c[l>>2]=Ea;c[g>>2]=ua;K=2;L=ua;M=Ea;N=k;O=Ra;break}k=((n*165|0)>>>8)+1|0;if((va|0)<0){Xd(e);Ua=c[m>>2]|0;Va=c[l>>2]|0}else{Ua=q;Va=va}va=k<<24;if(Ua>>>0<va>>>0){Wa=7;Xa=k;Ya=Ua}else{Wa=9;Xa=(c[g>>2]|0)-k|0;Ya=Ua-va|0}va=d[16+Xa>>0]|0;k=Xa<<va;q=Ya<<va;n=Va-va|0;c[m>>2]=q;c[l>>2]=n;c[g>>2]=k;va=(((k*145|0)+-145|0)>>>8)+1|0;if((n|0)<0){Xd(e);Za=c[m>>2]|0;_a=c[l>>2]|0}else{Za=q;_a=n}n=va<<24;if(Za>>>0<n>>>0){$a=0;ab=va;bb=Za}else{$a=1;ab=(c[g>>2]|0)-va|0;bb=Za-n|0}n=d[16+ab>>0]|0;va=ab<<n;q=bb<<n;k=_a-n|0;c[m>>2]=q;c[l>>2]=k;c[g>>2]=va;K=2;L=va;M=k;N=q;O=$a+Wa|0}while(0);y=f+((d[5656+j>>0]|0)*33|0)+(K*11|0)|0;h=d[5673+x>>0]|0;s=(L+1|0)>>>1;r=s<<24;if((M|0)<0){Xd(e);cb=c[m>>2]|0}else cb=N;if(cb>>>0<r>>>0){c[g>>2]=s;db=s;eb=cb;fb=O}else{q=(c[g>>2]|0)-s|0;c[g>>2]=q;s=cb-r|0;c[m>>2]=s;db=q;eb=s;fb=0-O|0}s=db<<1;c[g>>2]=s;q=eb<<1;c[m>>2]=q;r=c[l>>2]|0;k=r+-1|0;c[l>>2]=k;b[i+(h<<1)>>1]=fb;if((j|0)==16){t=16;E=82;break}h=((S(s+-1|0,d[y>>0]|0)|0)>>>8)+1|0;if((r|0)<1){Xd(e);gb=c[m>>2]|0;hb=c[l>>2]|0}else{gb=q;hb=k}k=h<<24;if(gb>>>0<k>>>0){ib=1;jb=h;kb=gb}else{ib=0;jb=(c[g>>2]|0)-h|0;kb=gb-k|0}k=d[16+jb>>0]|0;u=jb<<k;w=kb<<k;v=hb-k|0;c[m>>2]=w;c[l>>2]=v;c[g>>2]=u;if(ib){t=j;E=82;break}else x=j}if((E|0)==82)return t|0;return 0}function fe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;f=e+8|0;g=a+3248|0;switch(b|0){case 1:{h=a+5564|0;break}case 2:{h=a+5568|0;break}case 4:{h=a+5572|0;break}default:{Qb(g,1,5716,e);i=c[g>>2]|0;l=e;return i|0}}b=c[h>>2]|0;h=a+5064+(b*120|0)|0;if((((c[a+5064+(b*120|0)+4>>2]|0)==(c[d+4>>2]|0)?(c[h>>2]|0)==(c[d>>2]|0):0)?(c[a+5064+(b*120|0)+24>>2]|0)==(c[d+24>>2]|0):0)?(c[a+5064+(b*120|0)+20>>2]|0)==(c[d+20>>2]|0):0){Zb(h,d);i=c[g>>2]|0;l=e;return i|0}Qb(g,1,5740,f);i=c[g>>2]|0;l=e;return i|0}function ge(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;e=l;l=l+16|0;f=e+8|0;g=a+3248|0;switch(b|0){case 1:{h=a+5564|0;break}case 2:{h=a+5568|0;break}case 4:{h=a+5572|0;break}default:{Qb(g,1,5716,e);i=c[g>>2]|0;l=e;return i|0}}b=c[h>>2]|0;if((((c[a+5064+(b*120|0)+4>>2]|0)==(c[d+4>>2]|0)?(c[a+5064+(b*120|0)>>2]|0)==(c[d>>2]|0):0)?(c[a+5064+(b*120|0)+24>>2]|0)==(c[d+24>>2]|0):0)?(c[a+5064+(b*120|0)+20>>2]|0)==(c[d+20>>2]|0):0){if(c[a+5544>>2]|0)if(c[a+5548>>2]|0)if(!(c[a+5552>>2]|0))j=2;else j=(c[a+5556>>2]|0)==0?3:4;else j=1;else j=0;b=a+5544+(j<<2)|0;c[b>>2]=0;k=a+5544+(c[h>>2]<<2)|0;m=c[k>>2]|0;if((m|0)>0)c[k>>2]=m+-1;c[h>>2]=j;c[b>>2]=(c[b>>2]|0)+1;Zb(d,a+5064+((c[h>>2]|0)*120|0)|0);i=c[g>>2]|0;l=e;return i|0}Qb(g,1,5740,f);i=c[g>>2]|0;l=e;return i|0}function he(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;d=4;b=Kg(40)|0;c[b>>2]=0;g=a+3248|0;c[g>>2]=0;do if(((c[a+11972>>2]|0)==0?(c[a+11736>>2]|0)>>>0<2:0)?(c[a+11776>>2]|0)==0:0){h=a+5564|0;i=c[h>>2]|0;j=a+5544+(i<<2)|0;k=c[j>>2]|0;if((k|0)>1){c[j>>2]=k+-1;if(c[a+5544>>2]|0)if(c[a+5548>>2]|0)if(!(c[a+5552>>2]|0))l=2;else l=(c[a+5556>>2]|0)==0?3:4;else l=1;else l=0;c[a+5544+(l<<2)>>2]=1;c[h>>2]=l;o=0;ca(1,a+5064+(i*120|0)|0,a+5064+(l*120|0)|0);k=o;o=0;if((k|0)!=0&(p|0)!=0){m=Wg(c[k>>2]|0,b|0,d|0)|0;if(!m)wa(k|0,p|0);D=p}else m=-1;if((m|0)==1){n=D;q=0;r=0;s=0;t=0;break}u=c[h>>2]|0}else u=i;c[a+5064+(u*120|0)+112>>2]=1;v=0;w=a+5704|0;c[w>>2]=0;Lg(b|0);return v|0}else x=12;while(0);if((x|0)==12){if(c[a+5544>>2]|0)if(c[a+5548>>2]|0)if(!(c[a+5552>>2]|0))y=2;else y=(c[a+5556>>2]|0)==0?3:4;else y=1;else y=0;c[a+5544+(y<<2)>>2]=1;u=a+5560|0;c[u>>2]=y;c[a+3232>>2]=a+5064+(y*120|0);y=a+5564|0;c[a+3236>>2]=a+5064+((c[y>>2]|0)*120|0);m=a+5568|0;c[a+3240>>2]=a+5064+((c[m>>2]|0)*120|0);l=a+5572|0;c[a+3244>>2]=a+5064+((c[l>>2]|0)*120|0);b=Ug(a+3340|0,1,b|0,d|0)|0;d=D;o=0;i=o;o=0;if((i|0)!=0&(p|0)!=0){z=Wg(c[i>>2]|0,b|0,d|0)|0;if(!z)wa(i|0,p|0);D=p}else z=-1;if((z|0)==1){n=D;q=l;r=m;s=y;t=u}else{n=0;q=l;r=m;s=y;t=u}}while(1){if(n|0){x=19;break}c[a+3336>>2]=1;o=0;A=da(3,a|0)|0;u=o;o=0;if((u|0)!=0&(p|0)!=0){B=Wg(c[u>>2]|0,b|0,d|0)|0;if(!B)wa(u|0,p|0);D=p}else B=-1;if((B|0)==1)n=D;else{x=22;break}}do if((x|0)==19){c[a+5064+((c[s>>2]|0)*120|0)+112>>2]=1;n=a+5544+(c[t>>2]<<2)|0;B=c[n>>2]|0;if((B|0)>0){c[n>>2]=B+-1;C=1}else C=1}else if((x|0)==22){if((A|0)<0){B=a+5544+(c[t>>2]<<2)|0;n=c[B>>2]|0;if((n|0)>0)c[B>>2]=n+-1;c[g>>2]=1;C=A;break}switch(c[a+9164>>2]|0){case 0:{E=0;break}case 1:{F=0;G=c[s>>2]|0;x=29;break}case 2:{F=0;G=c[r>>2]|0;x=29;break}default:{F=-1;G=0;x=29}}if((x|0)==29){n=a+5544+(c[q>>2]<<2)|0;B=c[n>>2]|0;if((B|0)>0)c[n>>2]=B+-1;c[q>>2]=G;B=a+5544+(G<<2)|0;c[B>>2]=(c[B>>2]|0)+1;E=F}switch(c[a+9160>>2]|0){case 0:{H=E;break}case 1:{I=s;x=34;break}case 2:{I=q;x=34;break}default:{J=-1;K=0;x=35}}if((x|0)==34){J=E;K=c[I>>2]|0;x=35}if((x|0)==35){B=a+5544+(c[r>>2]<<2)|0;n=c[B>>2]|0;if((n|0)>0)c[B>>2]=n+-1;c[r>>2]=K;n=a+5544+(K<<2)|0;c[n>>2]=(c[n>>2]|0)+1;H=J}if(c[a+9152>>2]|0){n=c[t>>2]|0;B=a+5544+(c[r>>2]<<2)|0;d=c[B>>2]|0;if((d|0)>0)c[B>>2]=d+-1;c[r>>2]=n;d=a+5544+(n<<2)|0;c[d>>2]=(c[d>>2]|0)+1}if(c[a+9156>>2]|0){d=c[t>>2]|0;n=a+5544+(c[q>>2]<<2)|0;B=c[n>>2]|0;if((B|0)>0)c[n>>2]=B+-1;c[q>>2]=d;B=a+5544+(d<<2)|0;c[B>>2]=(c[B>>2]|0)+1}if(!(c[a+9148>>2]|0))L=t;else{B=c[t>>2]|0;d=a+5544+(c[s>>2]<<2)|0;n=c[d>>2]|0;if((n|0)>0)c[d>>2]=n+-1;c[s>>2]=B;n=a+5544+(B<<2)|0;c[n>>2]=(c[n>>2]|0)+1;L=s}c[a+5060>>2]=a+5064+((c[L>>2]|0)*120|0);n=a+5544+(c[t>>2]<<2)|0;c[n>>2]=(c[n>>2]|0)+-1;if(H|0){c[g>>2]=1;C=A;break}if(c[a+5704>>2]|0){n=a+11428|0;c[n>>2]=(c[n>>2]|0)+1;c[a+5776>>2]=c[a+5772>>2]}c[a+11960>>2]=0;n=a+11952|0;c[n>>2]=e;c[n+4>>2]=f;C=A}while(0);v=C;w=a+3336|0;c[w>>2]=0;Lg(b|0);return v|0}function ie(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;f=a+11960|0;if((c[f>>2]|0)==1){g=-1;return g|0}if(!(c[a+5704>>2]|0)){g=-1;return g|0}c[f>>2]=1;f=a+11952|0;h=c[f+4>>2]|0;i=d;c[i>>2]=c[f>>2];c[i+4>>2]=h;h=e;c[h>>2]=0;c[h+4>>2]=0;h=c[a+5060>>2]|0;if(!h){g=-1;return g|0}e=b;i=h;h=e+120|0;do{c[e>>2]=c[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(h|0));c[b>>2]=c[a+5040>>2];i=c[a+5044>>2]|0;c[b+4>>2]=i;c[b+24>>2]=(i|0)/2|0;g=0;return g|0}function je(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[a+2468>>2]|0;if((e|0)<=0){f=0;return f|0}g=c[a+2472>>2]|0;if((g|0)<=0){h=0;do h=h+1|0;while((h|0)<(e|0));f=0;return f|0}h=0;i=c[a+2524>>2]|0;a:while(1){a=0;j=i;while(1){if((d[j+2>>0]|0|0)==(b|0)){f=1;k=9;break a}a=a+1|0;if((a|0)>=(g|0))break;else j=j+76|0}h=h+1|0;if((h|0)>=(e|0)){f=0;k=9;break}else i=j+152|0}if((k|0)==9)return f|0;return 0}function ke(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0,s=0,t=0;d=4;e=Kg(40)|0;c[e>>2]=0;o=0;f=aa(1)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=Wg(c[g>>2]|0,e|0,d|0)|0;if(!h)wa(g|0,p|0);D=p}else h=-1;if((h|0)!=1){c[a>>2]=f;if(!f){i=1;Lg(e|0);return i|0}e=Ug(f+3340|0,1,e|0,d|0)|0;d=D;o=0;f=o;o=0;if((f|0)!=0&(p|0)!=0){j=Wg(c[f>>2]|0,e|0,d|0)|0;if(!j)wa(f|0,p|0);D=p}else j=-1;if((j|0)==1){k=D;l=a}else{k=0;l=a}}else{k=D;l=0}while(1){j=c[l>>2]|0;if(!k){c[j+3336>>2]=1;c[j+11816>>2]=c[b+16>>2];o=0;ba(5,j|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){m=Wg(c[f>>2]|0,e|0,d|0)|0;if(!m)wa(f|0,p|0);D=p}else m=-1;if((m|0)==1){n=l;k=D;l=n;continue}else{q=13;break}}if(!j)break;o=0;ba(2,j|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){r=Wg(c[f>>2]|0,e|0,d|0)|0;if(!r)wa(f|0,p|0);D=p}else r=-1;if((r|0)==1){n=l;k=D;l=n;continue}o=0;ba(3,j+3248|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){s=Wg(c[f>>2]|0,e|0,d|0)|0;if(!s)wa(f|0,p|0);D=p}else s=-1;if((s|0)==1){n=l;k=D;l=n;continue}o=0;ba(4,j|0);j=o;o=0;if((j|0)!=0&(p|0)!=0){t=Wg(c[j>>2]|0,e|0,d|0)|0;if(!t)wa(j|0,p|0);D=p}else t=-1;if((t|0)==1){n=l;k=D;l=n}else{q=10;break}}if((q|0)!=10)if((q|0)==13){c[(c[l>>2]|0)+3336>>2]=0;i=0;Lg(e|0);return i|0};c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;c[a+28>>2]=0;i=1;Lg(e|0);return i|0}function le(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;a=4;b=Kg(40)|0;c[b>>2]=0;o=0;d=ha(12,32,12e3)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=Wg(c[e>>2]|0,b|0,a|0)|0;if(!f)wa(e|0,p|0);D=p}else f=-1;if((f|0)!=1){if(!d){g=0;Lg(b|0);return g|0}Sg(d|0,0,12e3)|0;f=d+3248|0;b=Ug(d+3340|0,1,b|0,a|0)|0;a=D;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){h=Wg(c[e>>2]|0,b|0,a|0)|0;if(!h)wa(e|0,p|0);D=p}else h=-1;if((h|0)==1){i=f;j=d;k=D}else{i=f;j=d;k=0}}else{i=0;j=0;k=D}while(1){f=d+3336|0;if(k|0){c[f>>2]=0;o=0;ba(3,i|0);h=o;o=0;if((h|0)!=0&(p|0)!=0){l=Wg(c[h>>2]|0,b|0,a|0)|0;if(!l)wa(h|0,p|0);D=p}else l=-1;if((l|0)==1){m=j;n=i;k=D;j=m;i=n;continue}o=0;ba(4,d|0);h=o;o=0;if((h|0)!=0&(p|0)!=0){q=Wg(c[h>>2]|0,b|0,a|0)|0;if(!q)wa(h|0,p|0);D=p}else q=-1;if((q|0)==1){m=j;n=i;k=D;j=m;i=n;continue}else{r=8;break}}c[f>>2]=1;o=0;ba(6,i|0);h=o;o=0;if((h|0)!=0&(p|0)!=0){s=Wg(c[h>>2]|0,b|0,a|0)|0;if(!s)wa(h|0,p|0);D=p}else s=-1;if((s|0)==1){m=j;n=i;k=D;j=m;i=n;continue}c[d+11428>>2]=0;c[d+11960>>2]=1;o=0;ba(7,j|0);h=o;o=0;if((h|0)!=0&(p|0)!=0){t=Wg(c[h>>2]|0,b|0,a|0)|0;if(!t)wa(h|0,p|0);D=p}else t=-1;if((t|0)==1){m=j;n=i;k=D;j=m;i=n;continue}o=0;ba(8,i|0);h=o;o=0;if((h|0)!=0&(p|0)!=0){u=Wg(c[h>>2]|0,b|0,a|0)|0;if(!u)wa(h|0,p|0);D=p}else u=-1;if((u|0)==1){m=j;n=i;k=D;j=m;i=n;continue}c[f>>2]=0;f=d+11968|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;o=0;ba(9,d|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){v=Wg(c[f>>2]|0,b|0,a|0)|0;if(!v)wa(f|0,p|0);D=p}else v=-1;if((v|0)==1){m=j;n=i;k=D;j=m;i=n;continue}o=0;ha(13,9760,5)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){w=Wg(c[f>>2]|0,b|0,a|0)|0;if(!w)wa(f|0,p|0);D=p}else w=-1;if((w|0)==1){m=j;n=i;k=D;j=m;i=n}else{r=14;break}}if((r|0)==8){g=0;Lg(b|0);return g|0}else if((r|0)==14){g=j;Lg(b|0);return g|0}return 0}function me(){if(kb(c,2441)|0)return;yc();Dd();lb(c,2441,1)|0;return}function ne(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(!b){d=1;return d|0}te(b);Dc(b+3248|0);Ub(b);d=0;return d|0}function oe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;b=l;l=l+48|0;d=b+40|0;e=a+11812|0;c[e>>2]=0;f=a+11828|0;c[f>>2]=0;Jg(a+11860|0,0)|0;g=c[a+11816>>2]|0;h=(g|0)<8?g:8;g=a+3248|0;i=c[a+11440>>2]|0;j=(h|0)>(i|0)?i:h;if((j|0)<=1){l=b;return}c[e>>2]=1;e=j+-1|0;j=a+11824|0;c[j>>2]=e;h=Tb(4,e)|0;e=a+11924|0;c[e>>2]=h;if(!h)Qb(g,2,5768,b);h=Tb(16,c[j>>2]|0)|0;i=a+11928|0;c[i>>2]=h;if(!h)Qb(g,2,5812,b+8|0);h=Rb(32,(c[j>>2]|0)*3232|0)|0;k=a+11916|0;c[k>>2]=h;if(!h){Qb(g,2,5861,b+16|0);m=c[k>>2]|0}else m=h;Sg(m|0,0,(c[j>>2]|0)*3232|0)|0;m=Tb(12,c[j>>2]|0)|0;h=a+11920|0;c[h>>2]=m;if(!m)Qb(g,2,5897,b+24|0);if(Ag(a+11932|0,0,0)|0)Qb(g,2,5938,b+32|0);a:do if(!(c[j>>2]|0))n=0;else{m=0;while(1){if(Ag((c[i>>2]|0)+(m<<4)|0,0,0)|0){n=m;break a}qd((c[k>>2]|0)+(m*3232|0)|0);o=c[h>>2]|0;c[o+(m*12|0)>>2]=m;c[o+(m*12|0)+4>>2]=a;c[o+(m*12|0)+8>>2]=(c[k>>2]|0)+(m*3232|0);if(Va((c[e>>2]|0)+(m<<2)|0,0,4,o+(m*12|0)|0)|0)break;o=m+1|0;if(o>>>0<(c[j>>2]|0)>>>0)m=o;else{n=o;break a}}n=m}while(0);c[f>>2]=n;if((n|0)==(c[j>>2]|0)){l=b;return}Qb(g,2,5969,d);l=b;return}function pe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;b=l;l=l+16|0;d=b;e=c[a>>2]|0;f=c[a+4>>2]|0;g=c[a+8>>2]|0;a=f+11860|0;h=f+11812|0;fg(a)|0;i=c[h>>2]|0;cg(a)|0;if(!i){l=b;return 0}i=f+11928|0;j=g+3144|0;k=e+1|0;while(1){if(!(Hg((c[i>>2]|0)+(e<<4)|0)|0)){fg(a)|0;m=c[h>>2]|0;cg(a)|0;if(!m){n=7;break}c[j>>2]=d;qe(f,g,k)}fg(a)|0;m=c[h>>2]|0;cg(a)|0;if(!m){n=7;break}}if((n|0)==7){l=b;return 0}return 0}

// EMSCRIPTEN_END_FUNCS
var ub=[ph,Rd,Le,Ge,pf,Ac,Fe,ph];var vb=[qh,le];var wb=[rh,rd,te,Dc,Ub,oe,Cc,_d,$c,qd,wg,Fg,rh,rh,rh,rh];var xb=[sh,Zb];var yb=[th,Qd,Ee,ae,pe,we,th,th];var zb=[uh,se];var Ab=[vh,$b,zc,_c,Ed,me,xe,vh];var Bb=[wh,Kc,Oc,Mc,Qc,Lc,Pc,Nc,Rc,wh,wh,wh,wh,wh,wh,wh];var Cb=[xh,Id,Jd,Kd,Ld,Md,Nd,Od,Pd,Sd,Ud,ke,Rb,xg,xh,xh];var Db=[yh,Td,he,yh];var Eb=[zh,jc,lc,oc,qc,uc,sc,xc,ic,kc,nc,pc,tc,rc,wc,vc,mc,bc,ac,ec,gc,fc,dc,hc,cc,Qb,zh,zh,zh,zh,zh,zh];return{__emscripten_atomic_fetch_and_xor_u64:Af,_bitshift64Shl:ah,_emscripten_atomic_load_f32:Hf,_bitshift64Lshr:Vg,_ogv_video_decoder_destroy:ze,___emscripten_pthread_data_constructor:De,stackSave:Gb,_emscripten_atomic_xor_u64:Pf,_emscripten_atomic_load_u64:Jf,___udivdi3:$g,_ogv_video_decoder_process_frame:Be,getTempRet0:Lb,_emscripten_atomic_and_u64:Df,_emscripten_sync_run_in_main_thread:Rf,_emscripten_sync_run_in_main_thread_4:Wf,_emscripten_sync_run_in_main_thread_5:Xf,_emscripten_sync_run_in_main_thread_6:Yf,_emscripten_sync_run_in_main_thread_7:Zf,_emscripten_sync_run_in_main_thread_0:Sf,_emscripten_sync_run_in_main_thread_1:Tf,_emscripten_sync_run_in_main_thread_2:Uf,__emscripten_atomic_fetch_and_sub_u64:zf,_emscripten_atomic_exchange_u32:Ff,_ogv_video_decoder_process_header:Ae,_emscripten_atomic_cas_u64:Ef,_llvm_cttz_i32:Zg,_emscripten_atomic_sub_u64:Of,_emscripten_sync_run_in_main_thread_xprintf_varargs:_f,_memcpy:Yg,___errno_location:Ie,__emscripten_atomic_fetch_and_and_u64:xf,_emscripten_sync_run_in_main_thread_3:Vf,_emscripten_atomic_store_f64:Mf,stackAlloc:Fb,_i64Subtract:Rg,_ogv_video_decoder_init:ve,_memset:Sg,setTempRet0:Kb,_realloc:Mg,_i64Add:Tg,_emscripten_atomic_store_u64:Nf,_emscripten_atomic_load_f64:If,_emscripten_main_thread_process_queued_calls:Qf,_ogv_video_decoder_async:ye,_emscripten_get_global_libc:Ce,__emscripten_atomic_fetch_and_add_u64:wf,__emscripten_atomic_fetch_and_or_u64:yf,_emscripten_async_run_in_main_thread:Bf,_llvm_bswap_i32:ch,runPostSets:Pg,_testSetjmp:Wg,_saveSetjmp:Ug,_emscripten_atomic_add_u64:Cf,_free:Lg,_emscripten_atomic_store_f32:Lf,setThrew:Jb,_emscripten_atomic_exchange_u64:Gf,___uremdi3:bh,___pthread_tsd_run_dtors:$f,_emscripten_set_current_thread_status:Qg,stackRestore:Hb,___udivmoddi4:_g,_malloc:Kg,establishStackSpace:Ib,_emscripten_conditional_set_current_thread_status:Xg,_sbrk:dh,_emscripten_atomic_or_u64:Kf,stackAlloc:Fb,stackSave:Gb,stackRestore:Hb,establishStackSpace:Ib,setThrew:Jb,setTempRet0:Kb,getTempRet0:Lb,dynCall_iiii:eh,dynCall_i:fh,dynCall_vi:gh,dynCall_vii:hh,dynCall_ii:ih,dynCall_viii:jh,dynCall_v:kh,dynCall_viiiiii:lh,dynCall_iii:mh,dynCall_iiiiii:nh,dynCall_viiii:oh}})


// EMSCRIPTEN_END_ASM
(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var __emscripten_atomic_fetch_and_xor_u64=Module["__emscripten_atomic_fetch_and_xor_u64"]=asm["__emscripten_atomic_fetch_and_xor_u64"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_atomic_load_f32=Module["_emscripten_atomic_load_f32"]=asm["_emscripten_atomic_load_f32"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _ogv_video_decoder_destroy=Module["_ogv_video_decoder_destroy"]=asm["_ogv_video_decoder_destroy"];var ___emscripten_pthread_data_constructor=Module["___emscripten_pthread_data_constructor"]=asm["___emscripten_pthread_data_constructor"];var stackSave=Module["stackSave"]=asm["stackSave"];var _emscripten_atomic_xor_u64=Module["_emscripten_atomic_xor_u64"]=asm["_emscripten_atomic_xor_u64"];var _emscripten_atomic_load_u64=Module["_emscripten_atomic_load_u64"]=asm["_emscripten_atomic_load_u64"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _ogv_video_decoder_process_frame=Module["_ogv_video_decoder_process_frame"]=asm["_ogv_video_decoder_process_frame"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var _emscripten_atomic_and_u64=Module["_emscripten_atomic_and_u64"]=asm["_emscripten_atomic_and_u64"];var _emscripten_sync_run_in_main_thread=Module["_emscripten_sync_run_in_main_thread"]=asm["_emscripten_sync_run_in_main_thread"];var _emscripten_sync_run_in_main_thread_4=Module["_emscripten_sync_run_in_main_thread_4"]=asm["_emscripten_sync_run_in_main_thread_4"];var _emscripten_sync_run_in_main_thread_5=Module["_emscripten_sync_run_in_main_thread_5"]=asm["_emscripten_sync_run_in_main_thread_5"];var _emscripten_sync_run_in_main_thread_6=Module["_emscripten_sync_run_in_main_thread_6"]=asm["_emscripten_sync_run_in_main_thread_6"];var _emscripten_sync_run_in_main_thread_7=Module["_emscripten_sync_run_in_main_thread_7"]=asm["_emscripten_sync_run_in_main_thread_7"];var _emscripten_sync_run_in_main_thread_0=Module["_emscripten_sync_run_in_main_thread_0"]=asm["_emscripten_sync_run_in_main_thread_0"];var _emscripten_sync_run_in_main_thread_1=Module["_emscripten_sync_run_in_main_thread_1"]=asm["_emscripten_sync_run_in_main_thread_1"];var _emscripten_sync_run_in_main_thread_2=Module["_emscripten_sync_run_in_main_thread_2"]=asm["_emscripten_sync_run_in_main_thread_2"];var __emscripten_atomic_fetch_and_sub_u64=Module["__emscripten_atomic_fetch_and_sub_u64"]=asm["__emscripten_atomic_fetch_and_sub_u64"];var _emscripten_atomic_exchange_u32=Module["_emscripten_atomic_exchange_u32"]=asm["_emscripten_atomic_exchange_u32"];var _ogv_video_decoder_process_header=Module["_ogv_video_decoder_process_header"]=asm["_ogv_video_decoder_process_header"];var _emscripten_atomic_cas_u64=Module["_emscripten_atomic_cas_u64"]=asm["_emscripten_atomic_cas_u64"];var _llvm_cttz_i32=Module["_llvm_cttz_i32"]=asm["_llvm_cttz_i32"];var _emscripten_atomic_sub_u64=Module["_emscripten_atomic_sub_u64"]=asm["_emscripten_atomic_sub_u64"];var _emscripten_sync_run_in_main_thread_xprintf_varargs=Module["_emscripten_sync_run_in_main_thread_xprintf_varargs"]=asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var __emscripten_atomic_fetch_and_and_u64=Module["__emscripten_atomic_fetch_and_and_u64"]=asm["__emscripten_atomic_fetch_and_and_u64"];var _emscripten_sync_run_in_main_thread_3=Module["_emscripten_sync_run_in_main_thread_3"]=asm["_emscripten_sync_run_in_main_thread_3"];var _emscripten_atomic_store_f64=Module["_emscripten_atomic_store_f64"]=asm["_emscripten_atomic_store_f64"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _ogv_video_decoder_init=Module["_ogv_video_decoder_init"]=asm["_ogv_video_decoder_init"];var _memset=Module["_memset"]=asm["_memset"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var _realloc=Module["_realloc"]=asm["_realloc"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _emscripten_atomic_store_u64=Module["_emscripten_atomic_store_u64"]=asm["_emscripten_atomic_store_u64"];var _emscripten_atomic_load_f64=Module["_emscripten_atomic_load_f64"]=asm["_emscripten_atomic_load_f64"];var _emscripten_main_thread_process_queued_calls=Module["_emscripten_main_thread_process_queued_calls"]=asm["_emscripten_main_thread_process_queued_calls"];var _ogv_video_decoder_async=Module["_ogv_video_decoder_async"]=asm["_ogv_video_decoder_async"];var _emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=asm["_emscripten_get_global_libc"];var __emscripten_atomic_fetch_and_add_u64=Module["__emscripten_atomic_fetch_and_add_u64"]=asm["__emscripten_atomic_fetch_and_add_u64"];var __emscripten_atomic_fetch_and_or_u64=Module["__emscripten_atomic_fetch_and_or_u64"]=asm["__emscripten_atomic_fetch_and_or_u64"];var _emscripten_async_run_in_main_thread=Module["_emscripten_async_run_in_main_thread"]=asm["_emscripten_async_run_in_main_thread"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _testSetjmp=Module["_testSetjmp"]=asm["_testSetjmp"];var _saveSetjmp=Module["_saveSetjmp"]=asm["_saveSetjmp"];var _emscripten_atomic_add_u64=Module["_emscripten_atomic_add_u64"]=asm["_emscripten_atomic_add_u64"];var _free=Module["_free"]=asm["_free"];var _emscripten_atomic_store_f32=Module["_emscripten_atomic_store_f32"]=asm["_emscripten_atomic_store_f32"];var setThrew=Module["setThrew"]=asm["setThrew"];var _emscripten_atomic_exchange_u64=Module["_emscripten_atomic_exchange_u64"]=asm["_emscripten_atomic_exchange_u64"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var ___pthread_tsd_run_dtors=Module["___pthread_tsd_run_dtors"]=asm["___pthread_tsd_run_dtors"];var _emscripten_set_current_thread_status=Module["_emscripten_set_current_thread_status"]=asm["_emscripten_set_current_thread_status"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var ___udivmoddi4=Module["___udivmoddi4"]=asm["___udivmoddi4"];var _malloc=Module["_malloc"]=asm["_malloc"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var _emscripten_conditional_set_current_thread_status=Module["_emscripten_conditional_set_current_thread_status"]=asm["_emscripten_conditional_set_current_thread_status"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _emscripten_atomic_or_u64=Module["_emscripten_atomic_or_u64"]=asm["_emscripten_atomic_or_u64"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=Module["stackAlloc"];Runtime.stackSave=Module["stackSave"];Runtime.stackRestore=Module["stackRestore"];Runtime.establishStackSpace=Module["establishStackSpace"];Runtime.setTempRet0=Module["setTempRet0"];Runtime.getTempRet0=Module["getTempRet0"];Module["asm"]=asm;Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}Module.printErr("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{PThread.terminateAllThreads();ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(ENVIRONMENT_IS_PTHREAD)console.error("Pthread aborting at "+(new Error).stack);if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;if(!ENVIRONMENT_IS_PTHREAD)run();var inputBuffer,inputBufferSize;function reallocInputBuffer(size){if(inputBuffer&&inputBufferSize>=size){return inputBuffer}if(inputBuffer){Module._free(inputBuffer)}inputBufferSize=size;inputBuffer=Module._malloc(inputBufferSize);return inputBuffer}var getTimestamp;if(typeof performance==="undefined"||typeof performance.now==="undefined"){getTimestamp=Date.now}else{getTimestamp=performance.now.bind(performance)}function time(func){var start=getTimestamp(),ret;ret=func();Module.cpuTime+=getTimestamp()-start;return ret}function copyByteArray(bytes){var heap=bytes.buffer;if(heap instanceof ArrayBuffer&&typeof heap.slice==="function"){var extract=heap.slice(bytes.byteOffset,bytes.byteOffset+bytes.byteLength);return new Uint8Array(extract)}else{return new Uint8Array(bytes)}}Module.loadedMetadata=!!options.videoFormat;Module.videoFormat=options.videoFormat||null;Module.frameBuffer=null;Module.cpuTime=0;Object.defineProperty(Module,"processing",{get:function getProcessing(){return false}});Module.init=(function(callback){function finish(){time((function(){Module._ogv_video_decoder_init()}));callback()}if(Module.wasmBinary){Module.onRuntimeInitialized=(function(){finish()})}else{finish()}});Module.processHeader=(function(data,callback){var ret=time((function(){var len=data.byteLength;var buffer=reallocInputBuffer(len);Module.HEAPU8.set(new Uint8Array(data),buffer);return Module._ogv_video_decoder_process_header(buffer,len)}));callback(ret)});Module.callbacks=[];Module.processFrame=(function(data,callback){var isAsync=Module._ogv_video_decoder_async();var len=data.byteLength;var buffer=Module._malloc(len);function callbackWrapper(ret){Module._free(buffer);callback(ret)}if(isAsync){Module.callbacks.push(callbackWrapper)}var ret=time((function(){Module.HEAPU8.set(new Uint8Array(data),buffer);return Module._ogv_video_decoder_process_frame(buffer,len)}));if(!isAsync){callbackWrapper(ret)}});Module.close=(function(){});Math.imul=Math_imul_orig





  return OGVDecoderVideoVP8MT;
};
})();
